【问题标题】:Cannot bind to the new display member C# & SQL Server无法绑定到新的显示成员 C# & SQL Server
【发布时间】:2018-08-15 19:55:29
【问题描述】:

我之前研究过这个主题,这导致我将这行代码添加到我的程序中。

public static string Options { get; set; }

但是,我仍然收到此错误:

System.ArgumentException: '无法绑定到新的显示成员。参数名称:newDisplayMember'

我创建了这个函数来填充两个单独的组合框(一个是所有饮料,一个是所有食物)。该信息从两个单独的表中提供给程序。变量“选项”将被分配饮料或食物,这将决定显示哪些信息。

这是完整的功能:

    public static void FillFoodCombo(ComboBox combobox, string Option)
    {
        Options = Option + "_Name";

        string Query = "SELECT " + Options + " FROM Food";

        SqlDataAdapter da = new SqlDataAdapter(Query, LogInForm.connection);
        DataSet ds = new DataSet();
        da.Fill(ds, Options);
        combobox.DisplayMember = Options;
        combobox.ValueMember = Options;
        combobox.DataSource = ds.Tables[Options];
    }

对不起,如果这只是我厚脸皮:)

谢谢

【问题讨论】:

    标签: c# sql function combobox


    【解决方案1】:

    试试这个:

    Options = Option + "_name";
    

    然后像这样分配:

    combobox.DisplayMember = Options;
    

    【讨论】:

    • 我进行了此更改,但我没有在 combobox.DisplayMember 行收到错误,但是,我现在在 combobox.ValueMember 行收到错误?
    • 您对两者都进行了更改吗?所以更新 combobox.ValueMember = Options;也一样?
    • 是的,我将更新我的问题以显示新代码。
    【解决方案2】:

    您的表名被硬编码在查询字符串中

    string Query = "SELECT " + Options + " FROM Food"; 
    

    另外,尝试将语句的顺序更改为:

        combobox.DataSource = ds.Tables[Options];
        combobox.DisplayMember = Options;
        combobox.ValueMember = Options;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多