textbox的databindings问题
我在主窗口中放了一个grid:....
SqlCommand cmd = new SqlCommand("select * from mytable", conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
dset = new DataSet();
da.Fill(dset);
DataViewManager dvManager = new DataViewManager(dset);
m_dv = dvManager.CreateDataView(dset.Tables[0]);
this.gridControl1.DataSource = m_dv;
然后又放了一个textbox控件
textEdit2.DataBindings.Add("EditValue", m_dv, "username");
当选择grid中的不同行时,textedit2中的的值也相应变化,这是我想要的,可是下面的操作却有问题:
双击grid中的某条记录,然后打开一个新窗口,在新窗口里对选中的记录进行编修改操作。
EditForm f = new EditForm(m_dv);
f.ShowDialog();
在新窗口中的构造函数中
EditForm(DataView dv)
{
.....
textedit1.databindings.add("EditValue", dv, "username");
.....
}
可以每次打开这个窗口,显示的记录都是m_dv中的第一条记录的内容?哪儿错了?请高手指教
--------------------编程问答-------------------- 觉得你应当传入m_dv --------------------编程问答-------------------- 哦,不好意思... --------------------编程问答-------------------- 你没有去取你选中的那行。 this.gridControl1.DataSource = m_dv;
这个m_dv是你传入的参数。 你传了整个dataview了都嘛
又没有指定当前选择的是那行 --------------------编程问答-------------------- textbox1绑定数据后,是不需要指定那一行的,他会自动显示当前行的,在主窗口中放的那个textbox就可以显示 --------------------编程问答-------------------- 我用BindingSource.
主窗體定義BindingSource,並指定datasoure、DataMember
在新窗體的構造函數中
private BindingSource _BS;
EditForm(BindingSource BS)
{
_BS=BS;
}
在load事件裡綁TextBox
textedit1.databindings.add("TEXT", _BS, "username");
--------------------编程问答-------------------- 但有這樣一個怪問題,如果文本框visible設為false,就綁不了,它的值為空
不知道是什麼原因 --------------------编程问答-------------------- 但有這樣一個怪問題,如果文本框visible設為false,就綁不了,它的值為空
不知道是什麼原因
上面的我是直接在屬性中設為不可見,所以值為空;在代易做图中控制可見性是可以綁定的
textBox8.DataBindings.Add("Text", _BS, "name");
textBox8.Visible = false; --------------------编程问答-------------------- 迷糊,帮顶吧
补充:.NET技术 , C#