i create winform with c# that had two combobox
combobox1 select company from database
combobox2 select project from database depend on company from combobox1
everything ok when the form loaded but i want to refresh combobox2 when i change company in combobox1
this is my code
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*/
}
}
}
thank you in advice.
您需要在combobox1中添加ValueChanged事件。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.