[英]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.