当我给Combox 和 ListBox 绑定过数据之后 。在获取数据的时候总是得到 System.Data.DataRowView 这个值 为什么呀 ; 绑定代码是 string SQL = "select * from UserInfo"; DataSet ds=DB.GetDataSet (SQL); ListBox.DataSource = ds.Tables [0]; ListBox.DisplayMember = "UserID"; ListBox.ValueMember = "UserID";我用的是SQL 2005 win7和s2010使用 ListBox.Items [0].ToString ()得到是 System.Data.DataRowView 但是使用System.SelectValue可以得到值
2 回答
萧十郎
TA贡献1815条经验 获得超12个赞
首先你得知道ToString()方法的含义。如果类型没有专门地覆盖ToString()方法,那么默认返回的是类型的全名称。而DataRowView没有覆盖这个方法。
那么DataRowView又是什么呢?查一下MSDN就可以知道,它是DataRow的视图,DataRow是DataTable的一行,而DataTable就是你绑定到ListBox上的类型。这下就明白了吧?
绑定之后,ListBox上的每个Item都是一个DataRowView实例,因此你调用ListBox.Items[0].ToString()得到的就是System.Data.DataRowView。要想得到你想要的,必须使用SelectedValue属性,不能滥用ToString()方法。
- 2 回答
- 0 关注
- 519 浏览
添加回答
举报
0/150
提交
取消