一个数据源赋给多个COMBOX控件绑定,改变一个COMBOX值时其它几个也跟着改变(已有解决方案)
2007-01-17 16:56
561 查看
问题:
下面代码实现一个数据表中所有列的信息绑定在KEYCOLUMN,VALUESCOLUMN,DESCCOLUMN三个COMBOX控件上,方便定义一个数据字典的表让其选择KEYCOLUMN,VALUESCOLUMN,DESCCOLUMN三个列分别对应数据表的那个列
绑定后发现只要改变一个COMBOX值时其它几个也跟着改变
this.CO_KEYCOLUMN.DataSource = this._persistCustomDataTable.Columns;
this.CO_KEYCOLUMN.DisplayMember = "Name";
this.CO_KEYCOLUMN.ValueMember = "ID";
this.CB_VALUESCOLUMN.DataSource =this._persistCustomDataTable.Columns;
this.CB_VALUESCOLUMN.DisplayMember = "Name";
this.CB_VALUESCOLUMN.ValueMember = "ID";
this.CB_DESCCOLUMN.DataSource =this._persistCustomDataTable.Columns;
this.CB_DESCCOLUMN.DisplayMember = "Name";
this.CB_DESCCOLUMN.ValueMember = "ID";
注:this._persistCustomDataTable.Columns为数据表列的集合
解决后的程序
1.重新定义注:this._persistCustomDataTable.Columns为数据表列的集合分别为每个COMBOX绑定独立的数据源
List<UDCP.Core.DataColumn> comboxDataColumn1 = new List<UDCP.Core.DataColumn>();
List<UDCP.Core.DataColumn> comboxDataColumn2 = new List<UDCP.Core.DataColumn>();
List<UDCP.Core.DataColumn> comboxDataColumn3 = new List<UDCP.Core.DataColumn>();
comboxDataColumn1.InsertRange(0,this._persistCustomDataTable.Columns);
comboxDataColumn2.InsertRange(0, this._persistCustomDataTable.Columns);
comboxDataColumn3.InsertRange(0, this._persistCustomDataTable.Columns);
//值列,显示列,描述列
this.CO_KEYCOLUMN.DataSource = comboxDataColumn1;//this._persistCustomDataTable.Columns;
this.CO_KEYCOLUMN.DisplayMember = "Name";
this.CO_KEYCOLUMN.ValueMember = "ID";
this.CB_VALUESCOLUMN.DataSource = comboxDataColumn2;//this._persistCustomDataTable.Columns;
this.CB_VALUESCOLUMN.DisplayMember = "Name";
this.CB_VALUESCOLUMN.ValueMember = "ID";
this.CB_DESCCOLUMN.DataSource =comboxDataColumn3; //this._persistCustomDataTable.Columns;
this.CB_DESCCOLUMN.DisplayMember = "Name";
this.CB_DESCCOLUMN.ValueMember = "ID";
下面代码实现一个数据表中所有列的信息绑定在KEYCOLUMN,VALUESCOLUMN,DESCCOLUMN三个COMBOX控件上,方便定义一个数据字典的表让其选择KEYCOLUMN,VALUESCOLUMN,DESCCOLUMN三个列分别对应数据表的那个列
绑定后发现只要改变一个COMBOX值时其它几个也跟着改变
this.CO_KEYCOLUMN.DataSource = this._persistCustomDataTable.Columns;
this.CO_KEYCOLUMN.DisplayMember = "Name";
this.CO_KEYCOLUMN.ValueMember = "ID";
this.CB_VALUESCOLUMN.DataSource =this._persistCustomDataTable.Columns;
this.CB_VALUESCOLUMN.DisplayMember = "Name";
this.CB_VALUESCOLUMN.ValueMember = "ID";
this.CB_DESCCOLUMN.DataSource =this._persistCustomDataTable.Columns;
this.CB_DESCCOLUMN.DisplayMember = "Name";
this.CB_DESCCOLUMN.ValueMember = "ID";
注:this._persistCustomDataTable.Columns为数据表列的集合
解决后的程序
1.重新定义注:this._persistCustomDataTable.Columns为数据表列的集合分别为每个COMBOX绑定独立的数据源
List<UDCP.Core.DataColumn> comboxDataColumn1 = new List<UDCP.Core.DataColumn>();
List<UDCP.Core.DataColumn> comboxDataColumn2 = new List<UDCP.Core.DataColumn>();
List<UDCP.Core.DataColumn> comboxDataColumn3 = new List<UDCP.Core.DataColumn>();
comboxDataColumn1.InsertRange(0,this._persistCustomDataTable.Columns);
comboxDataColumn2.InsertRange(0, this._persistCustomDataTable.Columns);
comboxDataColumn3.InsertRange(0, this._persistCustomDataTable.Columns);
//值列,显示列,描述列
this.CO_KEYCOLUMN.DataSource = comboxDataColumn1;//this._persistCustomDataTable.Columns;
this.CO_KEYCOLUMN.DisplayMember = "Name";
this.CO_KEYCOLUMN.ValueMember = "ID";
this.CB_VALUESCOLUMN.DataSource = comboxDataColumn2;//this._persistCustomDataTable.Columns;
this.CB_VALUESCOLUMN.DisplayMember = "Name";
this.CB_VALUESCOLUMN.ValueMember = "ID";
this.CB_DESCCOLUMN.DataSource =comboxDataColumn3; //this._persistCustomDataTable.Columns;
this.CB_DESCCOLUMN.DisplayMember = "Name";
this.CB_DESCCOLUMN.ValueMember = "ID";
相关文章推荐
- 一个数据源赋给多个COMBOX控件绑定,改变一个COMBOX值时其它几个也跟着改变(已有解决方案)
- Winform Combox 控件 绑定数据源时,触发SelectChange解决方案
- .Net平台Winform两个ComboBox控件绑定同一个数据源
- winfrom动态生成的combox控件 绑定数据源之后 无法设置默认值问题
- Demo: Dictionary>> 泛型读取XML文件数据作为数据源(DataSource)绑定到DropDownList控件 定义个一个公用类
- 有几个控件的操作时有关联关系,一个对话框中有多组这样的控件群,各个组中的控件的消息响应处理非常类似,以下提供解决方案
- js赋值改变后原来的东西也改变了,影响了好几个其它使用同一个源数据的原因以及解决方法
- .Net平台Winform两个ComboBox控件绑定同一个数据源的问题
- 解决“listView点击一个Item,另外几个Item也跟着改变”的问题
- 解决“listView点击一个Item,另外几个Item也跟着改变”的问题
- 终于解决了一个问题--如何在数据绑定时不让combox控件触发SelectedIndexChanged事件
- 终于解决了一个问题--如何在数据绑定时不让combox控件触发SelectedIndexChanged事件
- winform程序设计中,label,TextBox,ComboBox等几个控件几乎是用得最多的,在设计中经常会遇到一些小问题,如:comboBox控件绑定了数据源之后,如何设置默认值?
- .Net平台Winform两个ComboBox控件绑定同一个数据源
- WINFORM中两个 ComboBox 控件绑定同一个数据源的问题
- winform有一个combobox和一个textbox控件,如何进行动态绑定,使得combobox中的数据改变时,textbox中的数据也随之改变?
- 数据源绑定控件
- c# winform 一个可以用鼠标改变控件位置和大小的类,调用即可
- 控件(三)——TreeView控件以XmlDataSource控件为数据源实现简单的绑定
- WinForm控件复杂数据绑定常用数据源(如:Dictionary)(对Combobox,DataGridView等控件DataSource赋值的多种方法)