环境:C# / .net4.0 / VS2012 / WinForm
在使用ComboBox时,出现“System.Data.DataRowView”问题。
问题原因:
在给ComboBox的DataSource进行绑定后,会立即触发一次 SelectedIndexChanged 事件。在这个事件中,如果ComboBox的ValueMember和DisplayMember还未赋值,则ComboBox.Text一定是“System.Data.DataRowView”。
解决方案:调整ComboBox绑定下拉菜单数据源的语句的顺序。
首先,应该先绑定ValueMember。
然后,再绑定DataSource。此时,会触发一次SelectedIndexChanged事件。但由于Valuemember已经绑定,因此在事件中,ComboBox的Text为正常的数据值。
最后,再绑定DisplayMember。