繁体   English   中英

如何刷新组合框WinForm C#

[英]How to refresh combobox winform c#

我用有两个组合框的C#创建Winform

表格看起来像这样

combobox1从数据库中选择公司

combobox2从数据库中选择项目取决于combobox1中的公司

加载表格时一切正常,但是当我在combobox1中更改公司时我想刷新combobox2

这是我的代码

using System;
using System.Data;
using System.Windows.Forms;
using Oracle.ManagedDataAccess.Client;

namespace WindowsFormsApp3
{
    public partial class Form_AC071503 : Form
    {
        public Form_AC071503()
        {
            InitializeComponent();
        }

        DataSet ds = new DataSet();

        OracleCommand cmd1;
        OracleDataAdapter da1;

        OracleCommand cmd2;
        OracleDataAdapter da2;

        private void Form_AC071503_Load(object sender, EventArgs e)
        {
            cmd1 = new OracleCommand("SELECT company,company_name from COMPANIES", Class_All.Connection);
            da1 = new OracleDataAdapter(cmd1);
            da1.Fill(ds, "COMPANIES");
            input_company.DataSource = ds.Tables["COMPANIES"];
            input_company.DisplayMember = "company_name";
            input_company.ValueMember = "company";

            cmd2 = new OracleCommand("SELECT project,project_name from PROJECTS where COMPANY = '" + input_company.SelectedValue.ToString() + "'", Class_All.Connection);
            da2 = new OracleDataAdapter(cmd2);
            da2.Fill(ds, "PROJECTS");
            input_project.DataSource = ds.Tables["PROJECTS"];
            input_project.DisplayMember = "project_name";
            input_project.ValueMember = "project";
        }

        private void Input_company_SelectedIndexChanged(object sender, EventArgs e)
        {
            /*i try to use the same code in Form_AC071503_Load like this

              cmd2 = new OracleCommand("SELECT project,project_name from PROJECTS where COMPANY = '" + input_company.SelectedValue.ToString() + "'", Class_All.Connection);
              da2 = new OracleDataAdapter(cmd2);
              da2.Fill(ds, "PROJECTS");
              input_project.DataSource = ds.Tables["PROJECTS"];
              input_project.DisplayMember = "project_name";
              input_project.ValueMember = "project";

              but not work because the list project not refresh but increased with new value*/ 
        }
    }
}

谢谢你的建议。

您需要在combobox1中添加ValueChanged事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM