关于一个dataset绑定多个combobox的有关问题
关于一个dataset绑定多个combobox的问题
这个问题已经解决
但是问题的原因不是很清楚,所以请高手给解释一下
比如我有六个commbobox,绑定一个dataset的时候,如果选择其中的一个的话,其他的也会跟着变化
最后我声明了六个datatable ,绑定的数据源还是一个dataset,问题依旧
请问这是什么原因呢?
便于理解,附上代码
dataset 都是一样的 为 ds
Dim dt1 As DataTable
Dim dt2 As DataTable
Dim dt3 As DataTable
Dim dt4 As DataTable
Dim dt5 As DataTable
Dim dt6 As DataTable
Dim dr1 As DataRow
ComboBox3.DataSource = dt1
Me.ComboBox3.DisplayMember = dt1.Columns("HY_NM").ToString()
Me.ComboBox3.ValueMember = dt1.Columns("HY_CD").ToString()
ComboBox4.DataSource = dt2
Me.ComboBox4.DisplayMember = dt2.Columns("HY_NM").ToString()
Me.ComboBox4.ValueMember = dt2.Columns("HY_CD").ToString()
ComboBox5.DataSource = dt3
Me.ComboBox5.DisplayMember = "HY_NM"
Me.ComboBox5.ValueMember = "HY_CD"
ComboBox6.DataSource = dt4
Me.ComboBox6.DisplayMember = "HY_NM"
Me.ComboBox6.ValueMember = "HY_CD"
ComboBox7.DataSource = dt5
Me.ComboBox7.DisplayMember = "HY_NM"
Me.ComboBox7.ValueMember = "HY_CD"
ComboBox8.DataSource = dt6
Me.ComboBox8.DisplayMember = "HY_NM"
Me.ComboBox8.ValueMember = "HY_CD"
以上代码,选择其中的一个,其他的也会跟着变
,解决方法已经知道,求教原因
------解决方案--------------------
原因的代码没粘出来啊 ,原因就是6个DataTable都在一个dataset里
------解决方案--------------------
六个commbobox的数据源都一样,一个变,其他肯定也跟着变!!
------解决方案--------------------
貌似不可能的,
sqldataadapter.fill(dt1)
sqldataadapter.fill(dt2)...
分开填充,不要
sqldataadapter.fill(ds)
dt1=ds.tables(0)
似乎对象在赋值时是引用的,至少在作为函数参数传递时是这样的
------解决方案--------------------
如果你引用的是同一dataset中的同一个表,那就是同一对象的引用,相当于同一个表
------解决方案--------------------
你Dim dt1 As DataTable
Dim dt2 As DataTable
Dim dt3 As DataTable
Dim dt4 As DataTable
Dim dt5 As DataTable
Dim dt6 As DataTable
引用都是dataset中的一个表吧
commbobox的DataSource 绑定只要不是同一个表的引用就好用如果是的话就是你这种情况
这个问题已经解决
但是问题的原因不是很清楚,所以请高手给解释一下
比如我有六个commbobox,绑定一个dataset的时候,如果选择其中的一个的话,其他的也会跟着变化
最后我声明了六个datatable ,绑定的数据源还是一个dataset,问题依旧
请问这是什么原因呢?
便于理解,附上代码
dataset 都是一样的 为 ds
Dim dt1 As DataTable
Dim dt2 As DataTable
Dim dt3 As DataTable
Dim dt4 As DataTable
Dim dt5 As DataTable
Dim dt6 As DataTable
Dim dr1 As DataRow
ComboBox3.DataSource = dt1
Me.ComboBox3.DisplayMember = dt1.Columns("HY_NM").ToString()
Me.ComboBox3.ValueMember = dt1.Columns("HY_CD").ToString()
ComboBox4.DataSource = dt2
Me.ComboBox4.DisplayMember = dt2.Columns("HY_NM").ToString()
Me.ComboBox4.ValueMember = dt2.Columns("HY_CD").ToString()
ComboBox5.DataSource = dt3
Me.ComboBox5.DisplayMember = "HY_NM"
Me.ComboBox5.ValueMember = "HY_CD"
ComboBox6.DataSource = dt4
Me.ComboBox6.DisplayMember = "HY_NM"
Me.ComboBox6.ValueMember = "HY_CD"
ComboBox7.DataSource = dt5
Me.ComboBox7.DisplayMember = "HY_NM"
Me.ComboBox7.ValueMember = "HY_CD"
ComboBox8.DataSource = dt6
Me.ComboBox8.DisplayMember = "HY_NM"
Me.ComboBox8.ValueMember = "HY_CD"
以上代码,选择其中的一个,其他的也会跟着变
,解决方法已经知道,求教原因
------解决方案--------------------
原因的代码没粘出来啊 ,原因就是6个DataTable都在一个dataset里
------解决方案--------------------
六个commbobox的数据源都一样,一个变,其他肯定也跟着变!!
------解决方案--------------------
貌似不可能的,
sqldataadapter.fill(dt1)
sqldataadapter.fill(dt2)...
分开填充,不要
sqldataadapter.fill(ds)
dt1=ds.tables(0)
似乎对象在赋值时是引用的,至少在作为函数参数传递时是这样的
------解决方案--------------------
如果你引用的是同一dataset中的同一个表,那就是同一对象的引用,相当于同一个表
------解决方案--------------------
你Dim dt1 As DataTable
Dim dt2 As DataTable
Dim dt3 As DataTable
Dim dt4 As DataTable
Dim dt5 As DataTable
Dim dt6 As DataTable
引用都是dataset中的一个表吧
commbobox的DataSource 绑定只要不是同一个表的引用就好用如果是的话就是你这种情况