背景:
数据表一(task):
taskID (Key)
taskName
...
taskTypeID 数据表二(taskType):
taskTypeID
taskTypeName
两个表通过taskTypeID关联起来。然后在form中使用一个dataGrid,来显示task表中一些最基本的信息,更详细的信息通过大量的textBox,comboBox来显示(同时方便修改),这些控件都关联到dataSet上。问题:
1. 如何能够在comboBox中正确显示taskTypeName? 应该将comboBox关联到哪个表的哪一列?dataAdapter和dataSet如何设置?
2. 在新增记录的时候(在task表中增加记录),如何能够将comboBox中选择的taskTypeName反映在task表中? 不知描述清楚了没?如果没有,请大家留言问我
数据表一(task):
taskID (Key)
taskName
...
taskTypeID 数据表二(taskType):
taskTypeID
taskTypeName
两个表通过taskTypeID关联起来。然后在form中使用一个dataGrid,来显示task表中一些最基本的信息,更详细的信息通过大量的textBox,comboBox来显示(同时方便修改),这些控件都关联到dataSet上。问题:
1. 如何能够在comboBox中正确显示taskTypeName? 应该将comboBox关联到哪个表的哪一列?dataAdapter和dataSet如何设置?
2. 在新增记录的时候(在task表中增加记录),如何能够将comboBox中选择的taskTypeName反映在task表中? 不知描述清楚了没?如果没有,请大家留言问我
string strSQL = "select taskTypeID, taskTypeName from taskType";
SqlCommand comm = new SqlCommand(strSQL, sqlConn);
SqlDataAdapter da = new SqlDataAdapter(comm);
DataTable tb = new DataTable();
da.Fill(tb);
comboBox.DataSource = tb;
comboBox.DisplayMember = "taskTypeName";
comboBox.ValueMember = "taskTypeID";另一个DataTable tbData从task取数(略)。
然后comboxBox.DataBindings.Add("Value", tbData, "taskTypeID");
介意你也看一篇文章
to:builderman(软件民工)
是很简单,也因为我才开始接触这个东西,我原来一直用的是C语言,在嵌入式平台下面做协议开发
这句话comboxBox.DataBindings.Add("Value", tbData, "taskTypeID");
会导致错误:无法绑定到目标控件的属性“Value“
看了一下,comboBox确实没有Value这个属性
具体点嘛
设LookUpEdit1.DisplayMember="taskTypeName";
lookUpEdit1.Properties.ValueMember="taskTypeID";
这样你就可以根据lookUpEdit1.EditValue进行操作了
会导致错误:无法绑定到目标控件的属性“Value“
看了一下,comboBox确实没有Value这个属性
------------------------------------------------------------
Sorry, 是我搞错了,是comboxBox.DataBindings.Add("SelectedValue", tbData, "taskTypeID");
http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx