在windows窗体中有一个comboBox控件与数据表中的某字段已绑定,但在程序运行时这个控件会改变数据表中的数据,(尽管我没有改变这个控件的状态,数据表中的数据也是和它的初始值一样),对表使用GetChanges()方法得到的值非空,以下是我的代码:comboBox控件的Items属性在VS2003的界面中指定,其值为:
v1
v2comboBox控件的绑定命令是: comboBox1.DataBindings.Add("SelectedItem",ds,"table1.ver");
ver字段为文本字段测试表是否有变动的代码如下:
int y=0;
if (ds.Tables["teble1"].GetChanges()!=null)
y=ds.Tables["teble1"].GetChanges().Rows.Count ;检查y的值发现在窗口显示过的每条记录都有改变(它们的ver字段其实都没有变),请问如何绑定才能避免这种情况。谢谢!!
v1
v2comboBox控件的绑定命令是: comboBox1.DataBindings.Add("SelectedItem",ds,"table1.ver");
ver字段为文本字段测试表是否有变动的代码如下:
int y=0;
if (ds.Tables["teble1"].GetChanges()!=null)
y=ds.Tables["teble1"].GetChanges().Rows.Count ;检查y的值发现在窗口显示过的每条记录都有改变(它们的ver字段其实都没有变),请问如何绑定才能避免这种情况。谢谢!!
我的检测代码如下,发现只有这个与comboBox绑定的表有改变。
int y=0;
for (int x=0;x<ds.Tables.Count;x++)
{
if (ds.Tables[x].GetChanges()!=null)
y+=ds.Tables[x].GetChanges().Rows.Count ;
}
this.ComboBox1.DataSource = myDataTable;//数据表
this.ComboBox1.DisplayMember = "Name";//字段名
this.ComboBox1.ValueMember = "userId";//字段名
设置ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.DataBindings.Add("SelectedItem",ds,"table1.ver");
不知道comboBox还有其它绑定方法吗?
ComboBox 的动态刷新吗!
还是知道 哪个Combobox 更新了呢!
但是现在的情况是只要是在窗体上显示过的记录其状态都被改变了,如果我显示过了三条记录,那么用ds.Tables["teble1"].GetChanges().Rows.Count 方法得到的值就是3.
如果取消ComboBox绑定,那一切正常.并且我检查过了,在ComboBox绑定的情况下字段的值是没有变的.只是记录的状态改变了.
哪位用过ComboBox绑定的大侠帮帮我呀!
这个是没问题的,其他方面你检查一下
comboBox1.DataBindings.Add("SelectedItem",ds.Tables[0].DefaultView,"ver")