我有像
这样的类的对象MYDepartment myDepartment = new MYDepartment();
然后List定义如下
Ilist<MYDepartment> listDepartment=new Ilist<MYDepartment>();
逐个添加列表中的对象
listDepartment.Add(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";
但它没有在Combobox中显示蚂蚁的东西。我的代码出错了 请帮忙
答案 0 :(得分:1)
请将您的DisplayMember属性设为DepartmenrName
。
像这样:
azhaform.combobox1.DisplayMember = "DepartmenrName";
你确定没有显示任何内容吗?它应该只显示一个项目,因为您只在源表中添加了一行。
编辑:对不起我上面发布的错误。我太习惯用List&lt;&gt;填充了:)。我尝试了你的代码,它工作正常。麻烦必须与其他东西。请取消我的投票:)
答案 1 :(得分:0)
虽然我没有用我的编辑器检查它,但它似乎有点问题,因为我修改了它如下...
DepartmentForm azhaform = new DepartmentForm();
azhaform.combobox1.DataSource = dtDepartments;
azhaform.combobox1.ValueMember = "DepartmentID";
azhaform.combobox1.DisplayMember = "Name";
答案 2 :(得分:0)
你的代码中似乎有很多错误,所以我不确定我是否应该把它过于字面意思(例如“combox1”vs“combobox1”),但我能立刻看到的一个错误就是你在指定ValueMember和DisplayMember之前,在组合框上设置数据源。我还没有测试过这是否会导致你的问题,但它肯定是错误的。
答案 3 :(得分:0)
这可能不是您想要的,但我通常使用 BindingSource 组件对其进行归档,只需点击 ComboBox 中的智能标记,然后选中使用数据绑定项< / strong>,然后点击添加项目数据源并在数据源表单上选择对象,然后选择 MYDepartment 类。
这会自动在表单上添加 BindingSource 组件(在我的VS中名为 mYDepartmentBindingSource )。
然后再次点击 ComboBox 智能标记并执行以下操作:
现在您可以添加数据:
mYDepartmentBindingSource.Add(new MYDepartment() { DepartmentID=1, DepartmenrName="Abc" } );
mYDepartmentBindingSource.Add(new MYDepartment() { DepartmentID = 2, DepartmenrName = "Bca" });