當我給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條經驗 獲得超13個贊
首先你得知道ToString()方法的含義。如果類型沒有專門地覆蓋ToString()方法,那么默認返回的是類型的全名稱。而DataRowView沒有覆蓋這個方法。
那么DataRowView又是什么呢?查一下MSDN就可以知道,它是DataRow的視圖,DataRow是DataTable的一行,而DataTable就是你綁定到ListBox上的類型。這下就明白了吧?
綁定之后,ListBox上的每個Item都是一個DataRowView實例,因此你調用ListBox.Items[0].ToString()得到的就是System.Data.DataRowView。要想得到你想要的,必須使用SelectedValue屬性,不能濫用ToString()方法。
- 2 回答
- 0 關注
- 544 瀏覽
添加回答
舉報
0/150
提交
取消