当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,