C# 错误:复杂数据绑定接受IList或IListSource作为数据源

C# 错误:复杂数据绑定接受IList或IListSource作为数据源,c#,winforms,data-binding,combobox,C#,Winforms,Data Binding,Combobox,我试图在医院预约,当患者选择诊所时,应列出所选诊所的医生姓名 我在项目数据集向导的TableAdapter中进行查询 当我在Dataset中测试它,或者从ComboBox向导绑定它时,它工作正常 但是当我试图使用comboBox.DataSource更改comboBox的数据时,我得到了 此错误: 复杂数据绑定接受IList或 IListSource 这是我的密码: private void Reservation_Load(object sender, EventArgs e) { /

我试图在医院预约,当患者选择诊所时,应列出所选诊所的医生姓名

我在项目数据集向导的
TableAdapter
中进行查询 当我在
Dataset
中测试它,或者从
ComboBox
向导绑定它时,它工作正常 但是当我试图使用
comboBox.DataSource
更改comboBox的数据时,我得到了 此错误:

复杂数据绑定接受IList或 IListSource

这是我的密码:

private void Reservation_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the 'mRMSDataSet.Departments' table. You can move, or remove it, as needed.
    this.departmentsTableAdapter.FillByCLinics(this.mRMSDataSet.Departments);
}

private void clinicNameComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    clinicDoctorsComboBox.DataSource = this.clinicDoctorsTableAdapter.FillByClinicDoctors(this.mRMSDataSet.ClinicDoctors, Convert.ToInt32(clinicNameComboBox.SelectedValue.ToString()));
    clinicNameComboBox.DisplayMember = "empName";
    clinicNameComboBox.ValueMember = "empId";
}

错误是不言自明的,并有记录在案。当您为组合框的
DataSource
属性赋值时,如果该值未实现
IList
IListSource
接口,您将收到一个
ArgumentException

复杂数据绑定接受IList或 IListSource

在上面的代码中,您将
Fill
方法(通常为
int
)的结果分配给
组合框的
数据源
。相反,您应该首先
填充
数据表
,然后通过以下方式将
数据表
分配给控件的
数据源

this.someTableAdapter.Fill(this.someDataSet.SomeTable);
comboBox1.DataSource = this.someDataSet.SomeTable;

错误是不言自明的,并有记录在案。当您为组合框的
DataSource
属性赋值时,如果该值未实现
IList
IListSource
接口,您将收到一个
ArgumentException

复杂数据绑定接受IList或 IListSource

在上面的代码中,您将
Fill
方法(通常为
int
)的结果分配给
组合框的
数据源
。相反,您应该首先
填充
数据表
,然后通过以下方式将
数据表
分配给控件的
数据源

this.someTableAdapter.Fill(this.someDataSet.SomeTable);
comboBox1.DataSource = this.someDataSet.SomeTable;

您应该首先填写
数据表
,然后将其分配给
数据源
。目前,您已经为
数据源
分配了一个整数。您应该首先填写
数据表
,然后将其分配给
数据源
。目前,您已经为
数据源
分配了一个整数。没有必要因为问一个问题而责骂这个家伙。这是有文档记录的。这对你来说可能是不言自明的,但对提问的人来说显然不是。他可能读过文档,但不理解。@MikeMatter您可能不喜欢答案的语气,但我看不到答案中有任何粗鲁的地方,也看不到任何需要修改以使其更有用的地方。答案不是责备OP,而是试图指出这是一种预期的行为,错误消息中对此进行了明确解释。此外,答案试图添加更多解释,以说明引发异常的原因以及如何解决问题。@MikeMatter查看或。无需因为问问题而责骂该人。这是记录在案的。这对你来说可能是不言自明的,但对提问的人来说显然不是。他可能读过文档,但不理解。@MikeMatter您可能不喜欢答案的语气,但我看不到答案中有任何粗鲁的地方,也看不到任何需要修改以使其更有用的地方。答案不是责备OP,而是试图指出这是一种预期的行为,错误消息中对此进行了明确解释。此外,答案试图添加更多解释,以说明引发异常的原因以及如何解决问题。@MikeMatter查看或。