日期:2014-05-18  浏览次数:20712 次

请问专家:comboBox读出来的数据为什么会变成System.Data.DataRowView?
comboBox采用数据绑定读取数据库的数据,绑定成功,数据正常显示出来了。但是我用comboBox1.selectedItem.toString()获取数据时,读出来的数据却变成了System.Data.DataRowView,这是什么原因哦?

------解决方案--------------------
你这里的"comboBox1.selectedItem"其实是System.Data.DataRowView.
而System.Data.DataRowView并没重写ToString(), 所以它执行的是其最最基类的ToString(), 
即object.ToString(), 读出来的数据自然是"System.Data.DataRowView"

------解决方案--------------------
DataRowView selectedItem = (DataRowView)comboBox1.SelectedItem;
MessageBox.Show(selectedItem.Row["列名字"].ToString());

------解决方案--------------------
探讨
DataRowView selectedItem = (DataRowView)comboBox1.SelectedItem;
MessageBox.Show(selectedItem.Row["列名字"].ToString());


------解决方案--------------------
DataRowView selectedItem = (DataRowView)comboBox1.SelectedItem;
MessageBox.Show(selectedItem.Row["列名字"].ToString());


正解,combox.SelectedItem是DataRowView类型
------解决方案--------------------
换成comboBox1.SelectValue或comboBox1.selectedItem.Value.