在项目中自定义了一个DataGird,提供给需要用的Form窗体使用,并提供了一个给外部控件使用的DataBinding方法,
I/F如下:
public void ExternalControlBinding(System.Windows.Forms.Control control, string propertyName, string colnumName)
内部代码如下:
((TextBox)control).DataBindings.Add(propertyName(DataTable)this.dataGrid.DataSource, colnumName);外部控件预想为TextBox希望达到的效果是点击DataGird上某一行的时候,在这个外部的控件上表示点击行指定列的数据。
也就是和控件的DataBinding方法一样。现在的问题是,用此法绑定上数据后,不论点击DataGrid的任何一行,这个外部的控件一直都显示DataGrid第一行指定列的数据。
有什么方法能解决吗?
I/F如下:
public void ExternalControlBinding(System.Windows.Forms.Control control, string propertyName, string colnumName)
内部代码如下:
((TextBox)control).DataBindings.Add(propertyName(DataTable)this.dataGrid.DataSource, colnumName);外部控件预想为TextBox希望达到的效果是点击DataGird上某一行的时候,在这个外部的控件上表示点击行指定列的数据。
也就是和控件的DataBinding方法一样。现在的问题是,用此法绑定上数据后,不论点击DataGrid的任何一行,这个外部的控件一直都显示DataGrid第一行指定列的数据。
有什么方法能解决吗?
系统会自动联动的
TB_Re.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bindingSource, "Re", true));你只需给bindingSource设置数据源,
你点击dataGridView的列后,文本框会同步的
public void ExternalControlBinding(System.Windows.Forms.Control control, string propertyName, string colnumName)
内部代码如下:
((TextBox)control).DataBindings.Add(propertyName(DataTable)this.dataGrid.DataSource, colnumName);
((TextBox)control).DataBindings.Add(propertyName(DataTable)this.dataGrid.DataSource, colnumName); 只是这个绑定是在自定义用户控件里完成的,
现在最奇怪的问题是不论点击DataGrid的哪一行,TextBox里一直都显示第一行绑定列的内容。