C# 从同一个表填充3个组合框,但在所有3个表中使用筛选器
我有一个有3个组合框的windows应用程序。用户名,编制人,授权人。 我想要用户名中所有员工的姓名,而在“编制人”和“授权人”中,我想要选定的姓名,但来自同一个表。因此,我在employee表中分配了角色,这是一个整数值,并启动了一个stroded过程。我无法填充组合框 SQL: 请尝试以下示例代码:C# 从同一个表填充3个组合框,但在所有3个表中使用筛选器,c#,sql,winforms,C#,Sql,Winforms,我有一个有3个组合框的windows应用程序。用户名,编制人,授权人。 我想要用户名中所有员工的姓名,而在“编制人”和“授权人”中,我想要选定的姓名,但来自同一个表。因此,我在employee表中分配了角色,这是一个整数值,并启动了一个stroded过程。我无法填充组合框 SQL: 请尝试以下示例代码: public static DataSet DownDataBind() { try { SqlConnection conn = new SqlConnecti
public static DataSet DownDataBind()
{
try
{
SqlConnection conn = new SqlConnection("Data Source=S1B01689;Initial Catalog=CosmosDB;User Id=sa;Password=Nttdata123");
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT id,categName from CM_Categories",conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
adapter.Dispose();
conn.Close();
return ds;
}
catch (Exception exp)
{
string s = exp.Message.ToString();
return null;
}
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
DataSet ds = DownDataBind();
comboBox1.DataSource = ds.Tables[0];// use Tables[0] instead of Table Name
comboBox1.ValueMember = "Id";
comboBox1.DisplayMember = "CategName";
comboBox1.SelectedIndex = -1;
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}
为什么要使用此代码。comboBox3.SelectedIndex=-1;?这没有意义,因为最初加载表单时,ComboBox中没有显示任何值或项。您是否收到任何异常?无法绑定到新的显示成员。参数名称:newDisplayMemberchange代码行comboBox3.DataSource=dsautho.Tables[“emp1”];到comboBox3.DataSource=dsautho.Tables[0];使用dsautho.Tables[0]而不是dsautho.Tables[“emp1”];它很好用
private void Form1_Load(object sender, EventArgs e)
{
con.Open();
adp = new SqlDataAdapter(cmd);
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "rolecombo";
cmd.Parameters.AddWithValue("@roles",comboBox3.SelectedValue);
adp.Fill(dsautho, "emp1");
comboBox3.DataSource = dsautho.Tables["emp1"];
comboBox3.DisplayMember = "fname";
comboBox3.ValueMember = "employee_id";
comboBox3.SelectedIndex = -1;
con.Close();
}
public static DataSet DownDataBind()
{
try
{
SqlConnection conn = new SqlConnection("Data Source=S1B01689;Initial Catalog=CosmosDB;User Id=sa;Password=Nttdata123");
conn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT id,categName from CM_Categories",conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
adapter.Dispose();
conn.Close();
return ds;
}
catch (Exception exp)
{
string s = exp.Message.ToString();
return null;
}
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
DataSet ds = DownDataBind();
comboBox1.DataSource = ds.Tables[0];// use Tables[0] instead of Table Name
comboBox1.ValueMember = "Id";
comboBox1.DisplayMember = "CategName";
comboBox1.SelectedIndex = -1;
}
catch (Exception exp)
{
MessageBox.Show(exp.Message);
}
}