有一个数据源传来的DataTable,我要把它绑定到下拉框上,有ID列和name列,Id是隐藏列,name是显示列,
我是用checkbox来控制它的绑定的,当checkbox为true时,绑定数据源。
因我有多个checkbox,所以点击第一个checkbox,绑定完数据源后,改变其下拉框的值。
再点击第二个checkbox,绑定数据源时会把上一个的下拉框值给重新绑定了。
因为DataTable是引用类型,所以数据源不变,所有的绑定数据有一处更改了,其他的都会更改。
大家看看有没有什么方法可以避免这个

解决方案 »

  1.   

    不从打他table绑定,将数据分离出来分别绑定不行吗?
      

  2.   

    如果下拉框是DataGridView中的,就好办:
    DataGridViewComboBoxColumn.DataSource 获取或设置填充组合框的选项的数据源。
    DataGridViewComboBoxColumn.DataPropertyName 获取或设置数据源属性的名称或与 DataGridViewColumn 绑定的数据库列的名称。
    DataGridViewComboBoxColumn.DisplayMember 获取或设置一个字符串,此字符串指定要从其中检索在组合框中显示的字符串的属性或列。
    DataGridViewComboBoxColumn.ValueMember 获取或设置一个字符串,此字符串指定要从其中获取与下拉列表的选项对应的值的属性或列。设置前,要将获取的 DatagridViewColumn转换成DatagridViewComboxColumn :
    DatagridViewComboxColumn cmbox = Datagridview.Columns["combbox列名"] as DatagridViewComboxColumn 
      

  3.   

    我已经解决了,用下拉框绑定时,不能直接绑定DataTable,而是绑定Datatable的副本就可以了,呵呵