C# 使用“我的数据集”中的查询填充组合框

C# 使用“我的数据集”中的查询填充组合框,c#,sql,combobox,C#,Sql,Combobox,我想使用我在数据集中添加的查询填充组合框?查询应根据以前的组合框选择给出一个输出。有关于如何对其进行编码的帮助吗 到目前为止,这是我的代码,但它不想工作 好吧,我更新了代码,但现在它给了我整个表的输入,但我希望它能被我在CMB学校选择的选项过滤掉。现在如何使用参数对其进行过滤 这是我的新代码 private void cmbSchool_SelectedIndexChanged(object sender, EventArgs e) { int ischoolid

我想使用我在数据集中添加的查询填充组合框?查询应根据以前的组合框选择给出一个输出。有关于如何对其进行编码的帮助吗

到目前为止,这是我的代码,但它不想工作


好吧,我更新了代码,但现在它给了我整个表的输入,但我希望它能被我在CMB学校选择的选项过滤掉。现在如何使用参数对其进行过滤

这是我的新代码

 private void cmbSchool_SelectedIndexChanged(object sender, EventArgs e)
    {

        int ischoolid = Convert.ToInt16(cmbSchool.SelectedValue);

        try
        {
            cmbClassRoomName.DataSource = this.geared4MathDataSet.ClassRoom;
            cmbClassRoomName.ValueMember = "ClassRoomID";
            cmbClassRoomName.DisplayMember = "ClassRoomName";
            //this.classRoomTableAdapter.FillBySchool(this.geared4MathDataSet.ClassRoom, ischoolid);
            lblClassroomName.Visible = true;
            cmbClassRoomName.Visible = true;
        }
        catch (System.Exception ex)
        {
            System.Windows.Forms.MessageBox.Show(ex.Message);
        }

    }

要过滤
教室
键入的数据表,只返回选择了
学校ID
的记录,您可以编写

cmbClassRoomName.DataSource = this.geared4MathDataSet.ClassRoom
                              .Where(x => x.IDSchool == ischoolid)
                              .CopyToDataTable();

当然,这假定教室表中有一个名为IDSchool的字段。您可以将此处使用的名称调整为正确的名称

不想工作实际上没有太多描述性。您有一个try-catch,错误消息是什么?或者,如果没有消息,什么不起作用?错误消息是:无法绑定到新值成员。参数名称:ValueMember和DisplayMember应该是数据源中存在的字段的名称。Convert.ToString(…)返回的值是多少。如果不是字段的名称,请解释错误。使用临时字符串变量接收Convert.ToString()的结果,并使用调试器检查返回的值。(顺便说一句,您需要将其转换为字符串,这是一个死赠品,有些东西不是真正的字段名)好的,谢谢:)现在就去检查:)请检查我编辑的帖子:)