C# 组合框没有绑定

C# 组合框没有绑定,c#,winforms,combobox,data-binding,C#,Winforms,Combobox,Data Binding,我有像这样的类的对象 MYDepartment myDepartment = new MYDepartment(); 然后列表定义如下 Ilist<MYDepartment> listDepartment=new Ilist<MYDepartment>(); 现在我已经定义了DataTable和DataRow DataTable dtDepartments=new DataTable(); DataRow dr = dtDepartments.NewRow(); dr

我有像这样的类的对象

MYDepartment myDepartment = new MYDepartment();
然后列表定义如下

Ilist<MYDepartment> listDepartment=new Ilist<MYDepartment>();
现在我已经定义了DataTable和DataRow

DataTable dtDepartments=new DataTable();
DataRow dr = dtDepartments.NewRow();
dr["DepartmentID"] = myDepartment.DepartmentID;
dr["Name"] = myDepartment.DepartmenrName;
dr["Description"] = myDepartment.DepartmentDescription;
dtDepartments.Rows.Add(dr);

DepartmentForm azhaform = new DepartmentForm();
azhaform.combox1.DataSource = dtDepartments;
azhaform.combobox1.ValueMember = "DepartmentID";
azhaform.combobox1.DisplayMember = "Name";
但它并没有在组合框中显示ant的内容。我的代码有什么问题吗
请帮助

请将DisplayMember属性设置为
部门名称

像这样:

   azhaform.combobox1.DisplayMember = "DepartmenrName";
你确定它没有显示任何东西吗?它应该只显示一项,因为您只向源表添加了一行


编辑:为我在上面发布的错误感到抱歉。我太习惯于用列表填充:)。我试过你的代码,效果很好。麻烦一定是出在别的事情上了。请取消我的投票:)

虽然我还没有和我的编辑核对过,但似乎有点小问题,因为我已经对它进行了如下修改

    DepartmentForm azhaform = new DepartmentForm();
    azhaform.combobox1.DataSource = dtDepartments;
    azhaform.combobox1.ValueMember = "DepartmentID";
    azhaform.combobox1.DisplayMember = "Name";

您的代码中似乎有很多错误,因此我不确定是否应该过于字面化(例如“combox1”与“combobox1”),但我可以立即看到的一个错误是,在指定ValueMember和DisplayMember之前,您正在combobox上设置数据源。我还没有测试这是否会导致您的问题,但它显然是错误的。

这可能不是您想要的,但我通常使用BindingSource组件存档此文件,只需单击组合框中的智能标记,然后选中使用数据绑定项即可,接下来单击添加项目数据源,并在数据源窗体上选择对象,然后选择您的部门

这将自动在表单上添加BindingSource组件(在my VS中名为mYDepartmentBindingSource)

下一步再次单击组合框
智能标记并执行以下操作:

现在,您可以添加数据:

  mYDepartmentBindingSource.Add(new MYDepartment() { DepartmentID=1, DepartmenrName="Abc" } );
  mYDepartmentBindingSource.Add(new MYDepartment() { DepartmentID = 2, DepartmenrName = "Bca" });
  mYDepartmentBindingSource.Add(new MYDepartment() { DepartmentID=1, DepartmenrName="Abc" } );
  mYDepartmentBindingSource.Add(new MYDepartment() { DepartmentID = 2, DepartmenrName = "Bca" });