Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从同一个表填充3个组合框,但在所有3个表中使用筛选器_C#_Sql_Winforms - Fatal编程技术网

C# 从同一个表填充3个组合框,但在所有3个表中使用筛选器

C# 从同一个表填充3个组合框,但在所有3个表中使用筛选器,c#,sql,winforms,C#,Sql,Winforms,我有一个有3个组合框的windows应用程序。用户名,编制人,授权人。 我想要用户名中所有员工的姓名,而在“编制人”和“授权人”中,我想要选定的姓名,但来自同一个表。因此,我在employee表中分配了角色,这是一个整数值,并启动了一个stroded过程。我无法填充组合框 SQL: 请尝试以下示例代码: public static DataSet DownDataBind() { try { SqlConnection conn = new SqlConnecti

我有一个有3个组合框的windows应用程序。用户名,编制人,授权人。 我想要用户名中所有员工的姓名,而在“编制人”和“授权人”中,我想要选定的姓名,但来自同一个表。因此,我在employee表中分配了角色,这是一个整数值,并启动了一个stroded过程。我无法填充组合框

SQL:

请尝试以下示例代码:

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);
    }
}