一个数据源赋给多个COMBOX控件绑定,改变一个COMBOX值时其它几个也跟着改变(已有解决方案)
问题:
下面代码实现一个数据表中所有列的信息绑定在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";
posted on 2007-01-17 16:56 2017_LIVE 阅读(4018) 评论(1) 编辑 收藏 举报