当前位置: 代码迷 >> 综合 >> 【C#】实现三级联动(学院专业班级)
  详细解决方案

【C#】实现三级联动(学院专业班级)

热度:91   发布时间:2023-11-01 02:59:50.0

 

 

//collega为学院下拉控件的控件名

 

 

//major为专业下拉控件的控件名

 

 

 

 

 

 

using System.Collections;

private void Form1_Load(object sender, EventArgs e)
{

    //编辑学院、专业、班级子项
    Hashtable collegaList = new Hashtable();
    Hashtable majorList = new Hashtable();

    //学院与专业的联动

    collegaList.Add("经济与管理学院", new string[] { "经济管理", "酒店管理" });
    collegaList.Add("信息工程学院", new string[] { "计算机科学与技术", "移动互联网" });
    collegaList.Add("建筑工程学院", new string[] { "工程造价",  "机械自动化" });
    collegaList.Add("设计学院", new string[] {  "室内设计", "数字媒体设计" });
    collegaList.Add("人文学院", new string[] { "汉语言文学", "学前教育"});

    //专业与班级的联动
    majorList.Add("经济管理", new string[] { "经济管理1班", "经济管理2班", "经济管理3班" });
    majorList.Add("酒店管理", new string[] { "酒店管理1班", "酒店管理2班", "酒店管理3班" });
    majorList.Add("计算机科学与技术", new string[] { "计算机科学与技术1班", "计算机科学与技术2班" });
    majorList.Add("移动互联网", new string[] { "移动互联网1班", "移动互联网2班", "移动互联网3班" });
    majorList.Add("工程造价", new string[] { "工程造价1班", "工程造价2班", "工程造价3班" });
    majorList.Add("机械自动化", new string[] { "机械自动化1班", "机械自动化2班", "机械自动化3班" });
    majorList.Add("室内设计", new string[] { "室内设计1班", "室内设计2班", "室内设计3班" });
    majorList.Add("数字媒体设计", new string[] { "数字媒体设计1班", "数字媒体设计2班", "数字媒体设计3班" });
    majorList.Add("汉语言文学", new string[] { "汉语言文学1班", "汉语言文学2班", "汉语言文学3班" });
    majorList.Add("学前教育", new string[] { "学前教育1班", "学前教育2班", "学前教育3班" });

        }

            foreach (string collegas in collegaList.Keys)
            {
                collega.Items.Add(collegas);  //将学院添加到学院下拉表项中
                collega.SelectedIndex = 0;  //将索引设置为0,即显示第一位数据
            }

    }

    //学院关联专业
        private void collega_SelectedIndexChanged(object sender, EventArgs e)
        {
            string[] majorsList = collegaList[college.Text] as string[];  //通过键值获取数据
            major.Items.Clear();  //清除专业下拉表,避免换学院时专业未变

            foreach (string majors in majorsList)
            {
                major.Items.Add(majors);  //将专业添加到专业下拉表项中
                major.SelectedIndex = 0;  //将索引设置为0,即显示第一位数据
            }

    //专业关联班级
        private void major_SelectedIndexChanged(object sender, EventArgs e)
        {
            string[] classesList = majorList[major.Text] as string[];
            classes.Items.Clear();

            foreach (string txtclasses in classesList)
            {
                classes.Items.Add(txtclasses);
                classes.SelectedIndex = 0;
            }
        }

 

 

??

??
  相关解决方案