C#写的winform
想让两个comboBox实现联动效果,需要从第一个comboBox中获取value,但是用comboBox.selectedValue获取总为空,后来照着百度搜到的改,结果出现了如标题所述错误:下面贴上代码:
private void test_Load(object sender, EventArgs e)
{
DataTable deptTable = db.GetDepartmentInfo().Tables[0];//GetDepartmentInfo()是我在business层写的一个方法,用来获取表中的所有数据;
int count = deptTable.Rows.Count;
for (int i = 0; i < count; i++)
{
string did =deptTable.Rows[i][0].ToString();
string dname = deptTable.Rows[i][1].ToString(); comboBoxDept.Items.Add(dname);
comboBoxDept.DataSource = comboBoxDept.Items;
comboBoxDept.ValueMember = "did";//此处为出错行,错误信息为无法绑定到新的显示成员,参数名: newDisplayMember;
comboBoxDept.DisplayMember = "dname";
}
}我都改了一天了,也没改明白!跪求各位老大救救我啊,帮我解答一下~谢谢!T T
想让两个comboBox实现联动效果,需要从第一个comboBox中获取value,但是用comboBox.selectedValue获取总为空,后来照着百度搜到的改,结果出现了如标题所述错误:下面贴上代码:
private void test_Load(object sender, EventArgs e)
{
DataTable deptTable = db.GetDepartmentInfo().Tables[0];//GetDepartmentInfo()是我在business层写的一个方法,用来获取表中的所有数据;
int count = deptTable.Rows.Count;
for (int i = 0; i < count; i++)
{
string did =deptTable.Rows[i][0].ToString();
string dname = deptTable.Rows[i][1].ToString(); comboBoxDept.Items.Add(dname);
comboBoxDept.DataSource = comboBoxDept.Items;
comboBoxDept.ValueMember = "did";//此处为出错行,错误信息为无法绑定到新的显示成员,参数名: newDisplayMember;
comboBoxDept.DisplayMember = "dname";
}
}我都改了一天了,也没改明白!跪求各位老大救救我啊,帮我解答一下~谢谢!T T
解决方案 »
- winform项目安装部署出现问题
- 这个调用打开FORM的方法应该怎么修改?
- 在C#windows应用程序里用openfiledialog控件把选中的几个文件的文件名和文件路径在listview控件里显示啊!
- 提取HTML文件内的内容
- 在线等待:请问C#如何调用操作系统程序,如记事本等?
- C#winform页面显示问题
- 多线程问题
- C++基础比较好,现在想学c#,向请教怎么转型比较好
- 十万火急,水晶报表打印,高分求救 (在线等-答即给分)
- http 的 socket 如何改写为支持 https 证书验证的 socket
- C#如何读取SQL Server中xml字段内容?
- 请教一个很简单的SQL语句。。。。。
comboBoxDept.DataSource = comboBoxDept.Items;
comboBoxDept.ValueMember = "did"砸没看明白呢??一边在add item,一边又在datasouce绑定Items当然最明显的位置是最后一句,既然datasouce是他自己的Items,这个items又那里来的did属性??(items的类型是ObjectCollection,他可没有did属性)ps:看了又看,你做的事情好像挺多余的
你直接绑定那个datatable就是了comboBoxDept.DataSource=deptTable;
comboBoxDept.ValueMember = "did";
comboBoxDept.DisplayMember = "dname";
{
string did =deptTable.Rows[i][0].ToString();
string dname = deptTable.Rows[i][1].ToString(); comboBoxDept.Items.Add(dname);
}
{
public string did;
public string dname;
}.... List<MyItem> vtData=new List<MyItem>();
int count = deptTable.Rows.Count;
for (int i = 0; i < count; i++)
{
MyItem rItem=new MyItem();
rItem.did =deptTable.Rows[i][0].ToString();
rItem.dname = deptTable.Rows[i][1].ToString(); vtData.Add(rItem);
}comboBoxDept.DataSource = vtData;
comboBoxDept.ValueMember = "did";
comboBoxDept.DisplayMember = "dname";
comboBoxDept.DataSource绑定数据应该放在循环之外,
private void test_Load(object sender, EventArgs e)
{
DataTable deptTable = db.GetDepartmentInfo().Tables[0];
comboBoxDept.DataSource = deptTable;
comboBoxDept.ValueMember = deptTable.Columns[0].ColumnName;
comboBoxDept.DisplayMember = deptTable.Columns[1].ColumnName;
}