在C#实体类生成工具中用到了ComboBox控件,但是用cmbDatabase.Text获取当前选中项的值时,
发现第一项的值为”System.Data.DataRowView”,SqlServer中当然没有这个名字的数据库,
查资料后发现原来是绑定数据源和绑定DisplayMember、ValueMember的前后顺序不对导致的。
先绑定DisplayMember、ValueMember后绑定数据源就不会出现这样的情况了。
cmbDatabase.DisplayMember = "name";
cmbDatabase.ValueMember = "name";
//数据源绑定在后可避免System.Data.DataRowView的问题
cmbDatabase.DataSource = ds.Tables[0];