步骤:

定义几个类:

HealthCheckItem类:检查项目

属性:

   public string Description { get; set; }public int Price { get; set; }public string Name { get; set; }

HealthCheckItem类中的方法:

  //当选择套餐下拉框中的套餐时,套餐下所有检查项目都添加到dgvlist中显示public HealthCheckItem(string name, int price, string description){Name = name;Price = price;Description = description;}

主界面:

   //定义多个检查项目
        HealthCheckItem m,hg, wg, sg, hr, lf, eg, ba, bp, bt;//定义系统默认检查套餐"入学体检";
        HealthCheckSet setA;//采用泛型集合List保存所有的体检项目List<HealthCheckItem> allitems = new List<HealthCheckItem>();//采用泛型集合List保存套餐中的体检项目List<HealthCheckItem> items = new List<HealthCheckItem>();//使用双列集合(字典)保存套餐集合public Dictionary<string, HealthCheckSet> hs = new Dictionary<string, HealthCheckSet>();

HealthCheckSet类:体检套餐

属性:

  public int Price { get; set; }//Item属性中检查项目的价格之和public string Name { get; set; }public List<HealthCheckItem> Items { get; set; }//Items是HealthCheckItem的集合,

HealthCheckSet类中的方法:

  public HealthCheckSet(){Items = new List<HealthCheckItem>();}public HealthCheckSet(string name, List<HealthCheckItem> items){Name = name;Items = items;}

获取价格的方法:

   // 获取价格的方法public void CalcPrice(){int tatolPrice = 0;foreach (HealthCheckItem item in Items){tatolPrice = tatolPrice + item.Price;}//套餐的价格等于每个体检项目价格的和Price = tatolPrice;}

添加新套餐:

  //添加新套餐private void btnAdd_Click(object sender, EventArgs e){if (txtName.Text.Equals("")){MessageBox.Show("请输入套餐名称!");}else{HealthCheckSet hc = new HealthCheckSet();hs.Add(txtName.Text, hc);// 调加载套餐下拉框信息方法
                InitiateHealthSetList();cboList.SelectedIndex = hs.Count();lblname.Text = cboList.Text;hc.Name = cboList.Text;MessageBox.Show("添加成功!");}}

加载套餐下拉框信息:

 private void InitiateHealthSetList(){//加载套餐下拉框信息//先清空下拉框列表
            cboList.Items.Clear();//添加请选择cboList.Items.Add("请选择");//将dictionary的key值绑定到下拉框中,作为下拉框显示的值foreach (string k in hs.Keys){cboList.Items.Add(k);}//默认第一项被选中cboList.SelectedIndex = 0;}

初始化检查项目:

hg = new HealthCheckItem("身高", 15, "用于检查身高");
wg = new HealthCheckItem("体重", 25, "用于检查体重");allitems.Add(hg);
allitems.Add(wg);

添加检查项目:

  //添加检查项目private void btnOk_Click(object sender, EventArgs e){if (cboProject.Text.Equals("请选择")||cboProject.Text.Equals("")){MessageBox.Show("请选择项目");return;}        if (cboList.Text == "请选择"){MessageBox.Show("请选择套餐");return;}//List<T>.Contains(对象)可以判断某个对象是否在集合中if (!hs[cboList.Text].Items.Contains(allitems[cboProject.SelectedIndex])){//添加检查项目             hs[cboList.Text].Items.Add(allitems[cboProject.SelectedIndex]);//重新计算总价格
                hs[cboList.Text].CalcPrice();//更新
                UpdateSet(hs[cboList.Text]);//刷新窗体集合名称lblname.Text = hs[cboList.Text].Name;// //刷新窗体集合价格lblprice.Text = hs[cboList.Text].Price.ToString();MessageBox.Show("添加成功");}else{MessageBox.Show("该项目已经存在");}}

删除体检套餐信息:

  //删除信息private void btnDelete_Click(object sender, EventArgs e){if (this.dgvInfo.SelectedRows.Count == 0){MessageBox.Show("请选择要删除的一行");return;}//找索引int index = dgvInfo.SelectedRows[0].Index;//删除的检查项目数据//泛型集合删除项目的方法:RemoveAt();
            hs[cboList.Text].Items.RemoveAt(index);//重新计算价格
            hs[cboList.Text].CalcPrice();//更新dgvlist数据
            UpdateSet(hs[cboList.Text]);lblname.Text = setA.Name;string choS = cboList.Text;lblprice.Text = hs[choS].Price.ToString();}

填充套餐的dgvlist,更新套餐检查项目

  //填充套餐的dgvlist,更新套餐检查项目private void UpdateSet(HealthCheckSet set){dgvInfo.DataSource = new BindingList<HealthCheckItem>(set.Items);}

这样简单明了-----------------------------------

转载于:https://www.cnblogs.com/weiguangyi/p/5227101.html

体检套餐管理系统的综合版相关推荐

  1. java 体检套餐_体检套餐管理系统的综合版

    步骤: 定义几个类: HealthCheckItem类:检查项目 属性: public string Description { get; set; }public int Price { get; ...

  2. java集合体检套餐管理系统_体检套餐管理系统

    体检套餐管理系统 首先搭建一个窗体 创建体检项目的两个类一个是检查项目类(HealthCheckItem),另一个是套餐类(HealthCheckSet) 在HealthCheckItem类 中有 项 ...

  3. 案例 体检套餐管理系统 需求一览 c# 1614099219

    案例 体检套餐管理系统 需求一览 c# 1614099219 界面一览 步骤一 窗体搭建 查看与删除功能 给套餐添加检察项目 注意: 可帮助查询对象是否在数组中 列表.Contains(数据) 新建套 ...

  4. 第五章项目 体检套餐管理系统

    1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Da ...

  5. 05章 体检套餐管理系统

    1:搭建窗体 2:用户自定义类:HealthCheckItem和HealthCheckSet 1 namespace 体检套餐管理2 {3 public class HealthCheckItem4 ...

  6. C# 体检套餐管理系统

    1.创建体检项目维护系统中的检查项目类 ,体检套餐类和一个泛型类如下图 2.窗体的搭建,如下图: 3.编写代码: using System; using System.Collections.Gene ...

  7. java集合体检套餐管理系统_基于ssm vue的综合项目 健康体检管理系统-第六章

    移动端开发对体检预约进行的查询 当页面加载完毕时,利用vue的钩子函数 已加载页面就直接查询数据将数据进行渲染 created() { axios.post("/setmeal/getSet ...

  8. C#oop体检套餐管理系统

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. 体检套餐管理系统 0421

    界面 结构分析 项目中的数据结构

  10. 基于Spring+SpringMVC+hibernate实现的体检中心管理系统

    源码及论文下载: http://www.byamd.xyz/tag/java/ 摘 要 随着人们生活水平的不断提高,人们的保健意识随之增强,体检已普遍成为人们保健的重要部分.特殊职业的体检.各种职业病 ...

最新文章

  1. EF 批量 添加 修改 删除
  2. macbook Pro 上安装Windows 的方法(双系统运行)
  3. 谷歌查看html地址_跑谷歌购物广告前,你需要了解这些
  4. 【多线程】1.条件变量--std::condition_variable
  5. SAP XS Engine 里的 HANA live report metadata
  6. 丢弃commit_git丢弃本地修改的所有文件(新增、删除、修改)
  7. 在原有的基础之上,启用NAT模型
  8. 关于AI和区块链的技术落地,你不知道的是……
  9. Leetcode每日一题:面试题 08.02. 迷路的机器人
  10. ScrollRect裁剪ParticleSystem粒子
  11. 高数笔记(二十一):幂级数,函数展开成幂级数,傅里叶级数
  12. 基于pytorch实现线性回归
  13. abaqus2018安装教程win10_win10环境下如何安装abaqus6.12?windows10环境安装abaqus6.12的方法...
  14. 简单记录 03.21
  15. Python tkinter(GUI编程)模块最完整讲解(下)
  16. 美团“猜你喜欢”深度学习排序模型实践
  17. 开源软件的许可证(License)
  18. iptables路由转换
  19. Linux下service xxx start/stop/restart启动服务、关闭服务、重启服务深入理解@
  20. 【软件测试工程师】App 应用测试方法以及测试思路

热门文章

  1. 利用协程实现计时效果
  2. 设计模式---简单工厂模式(c++实现)
  3. linux的shell脚本接收参数
  4. html模板引擎 字符串长度,javascript轻量级模板引擎juicer使用指南
  5. MyBatis-Plus 代码生成器报错
  6. 8086可以用c语言编程吗,[求助]如何将C程序反汇编成8086汇编程序
  7. SpringMVC之安全性(二)登录界面
  8. Hibernate组件作为复合主键(五)
  9. 「CodePlus 2017 11 月赛」Yazid 的新生舞会(树状数组/线段树)
  10. python3解析库BeautifulSoup4