我在WinForms C#项目中使用DevExpress 2009控件。我在GridControl上发现了BandedGridView(_currentView
)的一个问题。 GridControl的DataSource是类型化列表(List<MismatchedInfo>()
)。我写了这段代码:
List<DataRow> apps = new List<DataRow>();
for (int i = 0; i < _currentView.DataRowCount; i++)
apps.Add(_currentView.GetDataRow(i));
但结果列表应用程序由11个空数据行组成。 在调试器中,我看到:
_currentView.DataRowCount == 11
_currentView.GetDataRow(1) == null
_currentView.GetRow(1) != null (object MismatchedInfo from DataSource)
有人能告诉我如何在这种情况下获取List吗?我做错了什么?
感谢。
答案 0 :(得分:2)
仅当GridControl绑定到DataTable时才使用GetDataRow。相反,您应该使用GetRow方法并将其对象返回值强制转换为MismatchedInfo类的实例。
for(int i = 0; i < _currentView.DataRowCount; i++)
{
MistmatchedInfo info = (_currentView.GetRow(i) as MismatchedInfo);
//do something
}