日期:2014-05-17  浏览次数:21193 次

WPF:读取access数据后 combo控件绑定后Text不显示值,只有ItemsSource的遍历值有
表1:T_Node
ID   Nmae   EquipMode Version
1   某小区      1642em    3.0

表2:T_Categroy 假如有四条数据
ID    Item   Categroy
1   1642em     EquipModel
2   1662smc    EquipModel
3   3.0        1642em
4   3.1        1642em
5   2.3        1662smc
6   2.7        1662smc

一、有问题出现
1、从表2中获取数据返回string[] 赋给comboEquipModel 的ItemSource
sql="select Item from T_Categroy Where Categroy='EquipMidel'"
此时comboEquipModel下拉表里有两个肉容分别是 1642em 和1642emc 说明读取没问题
ComboEquipModel 的Text="{Binding EquipModel}"
-------------我问的问题就一个在下面
我是先赋值给ItemSource的,之后才做的数据上下文绑定为什么comboEquipMode.Text在界面loading后是空的而不是1662smc(表1中的),更可恨的用comboEquipModel.Text=表1中的EquipModel字段也不显示
因为我改变comboEquipMode控件中的selectedItem后 DataGrid中的Cell内容跟着改变,说明了
Text="{Binding EquipModel}"这句话声效了
表1中的1642em是我从表2中复制过来的,我怕是我输错导制的
---------------------------------
Combo的父控件Grid.Datacontext=(强转成结构体类)datagrid.selecteditem




二、comboVersion是用同样的方法做的,没问题
只不过where条件是  Categroy=表1中的EquipMode也就是1642em
在窗体加载后
Text=3.0
基中Items里包括3.0 和3.1两个条目

------解决方案--------------------
ComboEquipModel  的selectindex没设置