体检套餐管理系统

首先搭建一个窗体

创建体检项目的两个类一个是检查项目类(HealthCheckItem),另一个是套餐类(HealthCheckSet)

在HealthCheckItem类 中有

项目描述(Description)

项目名称(Name)

项目价格(Price)

在HealthCheckSet类中有

Items:为HealthCheckItem的集合,采用泛型集合list作为存储HealthCheckItem的数据结构

Price:套餐价格,Items属性中检查项目的价格之和

Name:套餐的名称;

//定义一个集合存放所有的体检项目

List allItems = new List();

//定义一个集合存放套餐中的体检项目

List items = new List();

//保存套餐集合

Dictionary healthSet = new Dictionary();

//定义一个默认套餐

HealthCheckSet setA;

//定义几个体检项目

HealthCheckItem height, weight, shi, ting, gan, chao, tu;

要先绑定检查项目的下拉列表

代码如下:

public void InilSet()

{

height = new HealthCheckItem("身高","用来检查身高",5);

weight = new HealthCheckItem("体重", "用来检查体重", 15);

shi = new HealthCheckItem("视力", "用来检查视力", 25);

ting = new HealthCheckItem("听力", "用来检查听力", 25);

gan = new HealthCheckItem("肝功能", "用来检查肝功能", 85);

chao = new HealthCheckItem("B超", "用来检查B超", 45);

tu = new HealthCheckItem("心电图", "用来检查心电图", 75);

allItems.Add(height);

allItems.Add(weight);

allItems.Add(shi);

allItems.Add(ting);

allItems.Add(gan);

allItems.Add(chao);

allItems.Add(tu);

comItems.DataSource = allItems;

comItems.DisplayMember = "name";

comItems.ValueMember = "money";

}

在套餐列表中的默认一个“入学体检”

并给此套餐设置制定的检查项目

代码如下:

public void MoRen()

{

items = new List();

items.Add(height);

items.Add(weight);

items.Add(gan);

setA = new HealthCheckSet("入学体检",items);

setA.AddMoney();

this.healthSet.Add("入学体检",setA);

}

//体检套餐下拉列表

public void InitHealthSet()

{

//清空下拉列表

this.comSet.Items.Clear();

//添加请选择

this.comSet.Items.Add("请选择");

foreach (string key in healthSet.Keys)

{

this.comSet.Items.Add(key);

}

this.comSet.SelectedIndex = 0;

}

把数据绑定到DataGridView中显示套餐的检查项目

代码如下:

public void dgvAdd(HealthCheckSet set)

{

dataGridView1.DataSource = new BindingList(set.Items);

}

选择“套餐列表”下拉列表事件

private void comSet_SelectedIndexChanged(object sender, EventArgs e)

{

if (result)

{

string setName = this.comSet.Text;

if (setName=="请选择")

{

this.dataGridView1.DataSource = null;

lblSetMoney.Text = "";

lblSetName.Text = "";

return;

}

else

{

//设置套餐名称

lblSetName.Text = this.healthSet[setName].Name;

//设置套餐总价

lblSetMoney.Text=this.healthSet[setName].Price.ToString();

//更新套餐项目

dgvAdd(healthSet[setName]);

//设置删除按钮为可用状态

btnShanChu.Enabled = true;

}

}

}

点击添加按钮可以在数据列表中显示出来你

代码如下:

private void btnTianJia_Click(object sender, EventArgs e)

{

if (this.comItems.SelectedIndex==0)

{

MessageBox.Show("请选择一个项目","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

string newName = this.comSet.Text;

if (newName=="请选择")

{

MessageBox.Show("请选择一个套餐","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

int index = this.comItems.SelectedIndex;

if (!this.healthSet[newName].Items.Contains(allItems[index]))

{

this.healthSet[newName].Items.Add(allItems[index]);

this.healthSet[newName].AddMoney();

dgvAdd(healthSet[newName]);

//刷新窗体中显示套餐名称

this.lblSetName.Text = this.healthSet[newName].Name;

//刷新窗体中显示套餐价格

this.lblSetMoney.Text = this.healthSet[newName].Price.ToString();

MessageBox.Show("添加成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

else

{

MessageBox.Show("该项目已经存在","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

点击删除按钮将选中项从套餐中删除

先从泛型集合中删除项目,然后从新绑定数据,从新计算套餐总价

private void btnShanChu_Click(object sender, EventArgs e)

{

string setName = this.comSet.Text;

if (this.dataGridView1.SelectedRows.Count==0)

{

MessageBox.Show("请选择一项删除","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

return;

}

else

{

//获得所删除项的索引

int index = this.dataGridView1.SelectedRows[0].Index;

//删除所选中的项

this.healthSet[setName].Items.RemoveAt(index);

//重新计算价格

this.healthSet[setName].AddMoney();

//更新数据

dgvAdd(healthSet[setName]);

lblSetName.Text = setA.Name;

string cboSetText = this.comSet.Text;

lblSetMoney.Text = this.healthSet[cboSetText].Price.ToString();

MessageBox.Show("删除成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

}

}

添加套餐检查项目

点击添加按钮时将新建的套餐添加到套餐集合中

private void btnOK_Click(object sender, EventArgs e)

{

//添加

if (string.IsNullOrEmpty(txtHealthName.Text))

{

MessageBox.Show("请输入套餐名称", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

return;//结束方法

}

else

{

//声明一个套餐对象

HealthCheckSet Hch = new HealthCheckSet();

//将套餐对对象添加到Dictionary中

this.HealthSet.Add(this.txtHealthName.Text, Hch);

this.InitHealthSetList();

//下拉框显示刚添加的内容

this.cboSets.SelectedIndex = this.HealthSet.Count;

lblSetName.Text = cboSets.Text;

Hch.Name = cboSets.Text;

MessageBox.Show("添加成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

java集合体检套餐管理系统_体检套餐管理系统相关推荐

  1. 美年旅游_套餐管理_新增套餐

    文章目录 需求分析 2:前台代码 3:后台代码 创建表 需求分析 前台代码 弹出新增窗口 动态展示跟团游列表 图片上传并预览 提交请求 后台代码 Controller 服务接口 服务实现类 Dao接口 ...

  2. 网络资产管理系统_网络版固定资产管理系统具备哪些优势?

    网络版固定资产管理系统具备哪些优势?许多企业在选购固定资产管理系统时总是会问是否可以将系统部署的本地服务器.由此可以看出,许多企业对于本地版固定资产管理系统与网络版固定资产管理系统的优劣还不太清楚,由 ...

  3. 基于java的理发店管理系统_理发店会员管理系统

    [实例简介] 理发店会员管理系统 java swing gui编程 CS架构 会员管理系统 [实例截图] [核心代码] MemberManagement-v11.9 └── MemberManagem ...

  4. java集合转字符串拼接_关于集合和字符串的互转实现方法

    今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.stringutils; 有这么一个简单的方法:string s ...

  5. java集合的加减_在JAVA中,对List集合的加减操作

    在日常Java开发中,经常会对List集合进行各种各样的操作,这里针对List集合的加减操作做个小的总结:在我看来最常用的有两个,一个是对原List本身有改变,一个是原List本身无改变. 一.对原L ...

  6. Java根据学号提取班级_学生成绩管理系统 1. 能够实现根据以下关键字查询:学生姓名 、学号、班级、课 联合开发网 - pudn.com...

    学生成绩管理系统 所属分类:Java编程 开发工具:Java 文件大小:1204KB 下载次数:0 上传日期:2020-12-06 16:50:53 上 传 者:sunyue111 说明:  1. 能 ...

  7. java集合set的使用_浅析Java中的set集合类型及其接口的用法

    概念首先,我们看看Set集合. (01) Set 是继承于Collection的接口.它是一个不允许有重复元素的集合. (02) AbstractSet 是一个抽象类,它继承于AbstractColl ...

  8. java集合框架的结构_集合框架(Collections Framework)详解及代码示例

    简介 集合和数组的区别: 数组存储基础数据类型,且每一个数组都只能存储一种数据类型的数据,空间不可变. 集合存储对象,一个集合中可以存储多种类型的对象.空间可变. 严格地说,集合是存储对象的引用,每个 ...

  9. java集合的添加方法_深入理解java集合框架之---------Arraylist集合 -----添加方法

    Arraylist集合 -----添加方法 1.add(E e) 向集合中添加元素 /** * 检查数组容量是否够用 * @param minCapacity */ public void ensur ...

最新文章

  1. linux查看地址和,UNIX/LINUX平台下查看MAC和WWN地址的方法
  2. 智能合约从入门到精通:调用数据的布局和ABI
  3. requests模拟登陆 验证码
  4. java小编程----str中没有内容
  5. 解决ios8下coreData没有NSPersistentContainer的问题
  6. SpringMVC4 实例
  7. SQL Server 删除数据表数据
  8. 微服务与架构师的个人见解
  9. 昨天,美团程序员的年终奖金可能没了!
  10. 绝对经典英语学习资料
  11. 32位plsql连接64位oracle客户端,使用32位PLSQL通过64位的ORACLE客户端连接到64位的数据库...
  12. VC 消息钩子编程
  13. Linux超详细指令及其解析
  14. Google浏览器插件
  15. android 键盘 码,Android键盘输出增加按键码
  16. 网站根目录文件权限设置推荐
  17. java interface简写_JAVA开发中常见缩写(二)
  18. laravel过滤富文本提交的标签(防止XSS等js脚本攻击)
  19. 2021年起重机司机(限桥式起重机)考试题及起重机司机(限桥式起重机)考试报名
  20. 备份iphoneXR手机照片

热门文章

  1. 学生时代,我做过最有价值的事是什么?
  2. c++语言函数strcpy,C++中函数的安全版本的意义及strcpy函数的功能和差别(图)
  3. 风变编程python助教_花30天时间,学完了风变编程Python基础语法课
  4. mysql查询大于0的标记_MySQL如何查询回答数大于0的问题并分页
  5. 上去了server查所有表空间_oracle如何查看表空间
  6. 怎么找不到JAVA9_在Java 9上运行应用程序时获取错误“找不到模块”:log4j.core
  7. python大数据后期教学_大数据处理之道(十分钟学会Python)
  8. python编写篮球_Python编程2——Python实现计算篮球比赛是否领先安全的程序
  9. 需求获取安排计划书_6分钟教你写一份融资计划书
  10. CodeForces - 617E XOR and Favorite Number (莫队+前缀和)