體檢套餐管理系統的綜合版

來源:互聯網
上載者:User

標籤:

步驟:

定義幾個類:

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);        }

這樣簡單明了-----------------------------------

體檢套餐管理系統的綜合版

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.