java集合体检套餐管理系统_体检套餐管理系统
體檢套餐管理系統(tǒng)
首先搭建一個(gè)窗體
創(chuàng)建體檢項(xiàng)目的兩個(gè)類一個(gè)是檢查項(xiàng)目類(HealthCheckItem),另一個(gè)是套餐類(HealthCheckSet)
在HealthCheckItem類 中有
項(xiàng)目描述(Description)
項(xiàng)目名稱(Name)
項(xiàng)目?jī)r(jià)格(Price)
在HealthCheckSet類中有
Items:為HealthCheckItem的集合,采用泛型集合list作為存儲(chǔ)HealthCheckItem的數(shù)據(jù)結(jié)構(gòu)
Price:套餐價(jià)格,Items屬性中檢查項(xiàng)目的價(jià)格之和
Name:套餐的名稱;
//定義一個(gè)集合存放所有的體檢項(xiàng)目
List allItems = new List();
//定義一個(gè)集合存放套餐中的體檢項(xiàng)目
List items = new List();
//保存套餐集合
Dictionary healthSet = new Dictionary();
//定義一個(gè)默認(rèn)套餐
HealthCheckSet setA;
//定義幾個(gè)體檢項(xiàng)目
HealthCheckItem height, weight, shi, ting, gan, chao, tu;
要先綁定檢查項(xiàng)目的下拉列表
代碼如下:
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";
}
在套餐列表中的默認(rèn)一個(gè)“入學(xué)體檢”
并給此套餐設(shè)置制定的檢查項(xiàng)目
代碼如下:
public void MoRen()
{
items = new List();
items.Add(height);
items.Add(weight);
items.Add(gan);
setA = new HealthCheckSet("入學(xué)體檢",items);
setA.AddMoney();
this.healthSet.Add("入學(xué)體檢",setA);
}
//體檢套餐下拉列表
public void InitHealthSet()
{
//清空下拉列表
this.comSet.Items.Clear();
//添加請(qǐng)選擇
this.comSet.Items.Add("請(qǐng)選擇");
foreach (string key in healthSet.Keys)
{
this.comSet.Items.Add(key);
}
this.comSet.SelectedIndex = 0;
}
把數(shù)據(jù)綁定到DataGridView中顯示套餐的檢查項(xiàng)目
代碼如下:
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=="請(qǐng)選擇")
{
this.dataGridView1.DataSource = null;
lblSetMoney.Text = "";
lblSetName.Text = "";
return;
}
else
{
//設(shè)置套餐名稱
lblSetName.Text = this.healthSet[setName].Name;
//設(shè)置套餐總價(jià)
lblSetMoney.Text=this.healthSet[setName].Price.ToString();
//更新套餐項(xiàng)目
dgvAdd(healthSet[setName]);
//設(shè)置刪除按鈕為可用狀態(tài)
btnShanChu.Enabled = true;
}
}
}
點(diǎn)擊添加按鈕可以在數(shù)據(jù)列表中顯示出來你
代碼如下:
private void btnTianJia_Click(object sender, EventArgs e)
{
if (this.comItems.SelectedIndex==0)
{
MessageBox.Show("請(qǐng)選擇一個(gè)項(xiàng)目","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
string newName = this.comSet.Text;
if (newName=="請(qǐng)選擇")
{
MessageBox.Show("請(qǐng)選擇一個(gè)套餐","提示",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;
//刷新窗體中顯示套餐價(jià)格
this.lblSetMoney.Text = this.healthSet[newName].Price.ToString();
MessageBox.Show("添加成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("該項(xiàng)目已經(jīng)存在","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
點(diǎn)擊刪除按鈕將選中項(xiàng)從套餐中刪除
先從泛型集合中刪除項(xiàng)目,然后從新綁定數(shù)據(jù),從新計(jì)算套餐總價(jià)
private void btnShanChu_Click(object sender, EventArgs e)
{
string setName = this.comSet.Text;
if (this.dataGridView1.SelectedRows.Count==0)
{
MessageBox.Show("請(qǐng)選擇一項(xiàng)刪除","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
else
{
//獲得所刪除項(xiàng)的索引
int index = this.dataGridView1.SelectedRows[0].Index;
//刪除所選中的項(xiàng)
this.healthSet[setName].Items.RemoveAt(index);
//重新計(jì)算價(jià)格
this.healthSet[setName].AddMoney();
//更新數(shù)據(jù)
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);
}
}
添加套餐檢查項(xiàng)目
點(diǎn)擊添加按鈕時(shí)將新建的套餐添加到套餐集合中
private void btnOK_Click(object sender, EventArgs e)
{
//添加
if (string.IsNullOrEmpty(txtHealthName.Text))
{
MessageBox.Show("請(qǐng)輸入套餐名稱", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;//結(jié)束方法
}
else
{
//聲明一個(gè)套餐對(duì)象
HealthCheckSet Hch = new HealthCheckSet();
//將套餐對(duì)對(duì)象添加到Dictionary中
this.HealthSet.Add(this.txtHealthName.Text, Hch);
this.InitHealthSetList();
//下拉框顯示剛添加的內(nèi)容
this.cboSets.SelectedIndex = this.HealthSet.Count;
lblSetName.Text = cboSets.Text;
Hch.Name = cboSets.Text;
MessageBox.Show("添加成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
總結(jié)
以上是生活随笔為你收集整理的java集合体检套餐管理系统_体检套餐管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java开发环境jdk1.8_linux
- 下一篇: matlab编写数字基带信号程序,数字基