zoukankan      html  css  js  c++  java
  • 体检套餐

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

    namespace Text
    {
        public partial class FrmMain : Form
        {
            public FrmMain()
            {
                InitializeComponent();
            }
            HealthCheckItem ShenGao, TiZhong, GanGongN;

            //存储所有检查项目
            List<HealthCheckItem> AllItems = new List<HealthCheckItem>();
            //存储与套餐相关的检查项目
            List<HealthCheckItem> items = new List<HealthCheckItem>();
            //保存医院中支持的所有TC,为了绑定左侧的套餐下拉框而编写
            public Dictionary<string, TaoCan> HSet = new Dictionary<string, TaoCan>();

            public void testSet()
            {
                ShenGao = new HealthCheckItem(5, "检查身高", "身高");
                TiZhong = new HealthCheckItem(5, "检查体重", "体重");
                GanGongN = new HealthCheckItem(5, "检查肝功能", "肝功能");
                AllItems.Add(ShenGao);
                AllItems.Add(TiZhong);
                AllItems.Add(GanGongN);
            }
            //构建一个默认的套餐,并且扔到所有套餐(TC)集合中
            public void Tc()
            {
                TaoCan tc = new TaoCan();
                tc.Name = "入学体检";
                tc.Items.Add(ShenGao);
                tc.Items.Add(TiZhong);


                //请选择
                TaoCan tc2 = new TaoCan();
                tc2.Name = "请选择";

                HSet.Add(tc2.Name, tc2);
                HSet.Add(tc.Name, tc);

            }

            //更新套餐检查项目(职责分离)
            private void updateSet(TaoCan set)
            {
                dgvList.DataSource = new BindingList<HealthCheckItem>(set.Items);
            }

            //定义一个标记 判定当前Load事件是否执行完毕
            int flag = 0;
            private void FrmMain_Load(object sender, EventArgs e)
            {
               


                //右侧下拉框
                testSet();
                //左侧
                Tc();
                //所有下拉框中的项目Clear()
                BindingSource source = new BindingSource();
                source.DataSource = HSet.Values;
                cboSets.DisplayMember = "name";
                cboSets.ValueMember = "items";
                cboSets.DataSource = source;
                BindRightDGV();
                Console.WriteLine("");
                flag = 1;
            }

            private void BindRightDGV()
            {

                cboItems.DataSource = new BindingList<HealthCheckItem>(AllItems);
            }

            private void cboSets_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (flag == 1)
                {
                    string SetName = cboSets.Text;
                    if (SetName == "请选择")
                    {
                        HSet[SetName].Items.Clear();
                        updateSet(HSet[SetName]);
                        // dgvList.DataSource = null;
                        lblSetName.Text = "";
                        lblSetPrice.Text = "";
                        return;
                    }
                    //设置套餐名称

                    lblSetName.Text = HSet[SetName].Name;
                    HSet[SetName].CalcPrice();
                    //设置套餐总价
                    lblSetPrice.Text = HSet[SetName].Price.ToString();
                    //更新套餐检查项目
                    updateSet(HSet[SetName]);
                    //设置清楚按钮为可用状态
                    btnDelete.Enabled = true;
                }
            }

            private void cboItems_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (cboItems.Text != "请选择")
                {
                    btnAdd.Enabled = true;
                }
                else
                {
                    btnAdd.Enabled = false;
                }
            }

            private void btnTaoCanAdd_Click(object sender, EventArgs e)
            {
                if (string.IsNullOrEmpty(txtName.Text))
                {
                    MessageBox.Show("请选择套餐名称","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    return;
                }
                else
                {
                    TaoCan Hch = new TaoCan();
                    Hch.Name=txtName.Text;
                    HSet.Add(Hch.Name,Hch);
                    BindingSource source = new BindingSource();
                    source.DataSource = HSet.Values;
                    cboSets.DisplayMember = "name";
                    cboSets.ValueMember = "items";
                    cboSets.DataSource = source;
                    MessageBox.Show("成功!");
                    //将新加入的套餐默认选中
                    cboSets.SelectedIndex = HSet.Count-1;
                }
            }

            private void btnDelete_Click(object sender, EventArgs e)
            {
                //体检项目的名称
                if (dgvList.SelectedRows.Count>0)
                {
                    string name=dgvList.SelectedRows[0].Cells[0].Value.ToString();
                foreach (HealthCheckItem item in HSet[lblSetName.Text].Items)
                {
                    if (item.Name==name)
                    {
                        HSet[lblSetName.Text].Items.Remove(item);
                        break;
                    }
                }
                updateSet(HSet[lblSetName.Text]);
                //价格
                HSet[lblSetName.Text].CalcPrice();
                lblSetPrice.Text = HSet[lblSetName.Text].Price.ToString();
                }

            }

        }

    }


     

    1  这个项目需要以下一个类

    每个类的内容如下

    1.套餐类

    2.检查项目类

  • 相关阅读:
    InApp PurchaseVerifying Store Receipts[6]
    InApp PurchaseTesting a Store [7]
    App Store Review Guidelines
    JAVA基础之一维数组和多维数组
    定位标记
    JSTL常用标签汇总
    struts1.2原理
    struts1.2中的ActionForm
    jdbc连接
    ActionForm与bean的区别
  • 原文地址:https://www.cnblogs.com/zhongmingyuan/p/4802887.html
Copyright © 2011-2022 走看看