2013-12-23 47 views
-1

我在我的WinForms C#項目中使用DevExpress 2009控件。我在GridControl上發現了BandedGridView(_currentView)的一個問題。 GridControl的DataSource是輸入列表(List<MismatchedInfo>())。我寫了這段代碼:獲取列表<DataRow> BandedGridView(DevExpress)

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) 

誰能告訴我如何在這種情況下拿到名單?我做錯了什麼?

謝謝。

+0

我找到答案DevEx文檔中:(「如果查看的數據源對象的自定義集合,該GetDataRow方法返回null」那麼,如何創建從我的'名單數據行()' ? –

回答

2

GetDataRow僅在GridControl綁定到DataTable時使用。相反,您應該使用GetRow方法並將其對象返回值轉換爲您的MismatchedInfo類的實例。

for(int i = 0; i < _currentView.DataRowCount; i++) 
{ 
    MistmatchedInfo info = (_currentView.GetRow(i) as MismatchedInfo); 
    //do something 
}