2009-10-30 33 views
1

希望很簡單,但無法找到任何此類選項。移至DataTable中的特定記錄

我有一個數據表 - 有說... 10行。表單上的某些字段按名稱分別綁定到table.columns。

在另一個具有網格的窗體上,當我滾動網格時,細節字段會按預期刷新,因爲網格會觸發DataTable記錄更改事件。

,而無需使用數據網格,我怎麼可以直接在表去一個特定行負載/顯示刷新的形式...例如:

DataTable MyTable = new DataTable(); 

MyTable = GetResultsFromSQL(); // returns the 10 rows 

MyTable.LoadTheDataForRow(3); 
MyTable.LoadTheDataForRow(7); 
MyTable.LoadTheDataForRow(2); 

我知道我可以使用foreach行在表中,但需要明確使用,因爲我不想遍歷所有行,但需要特定的特定行。

我看了LoadDataRow(),但似乎是推回數據到服務器。不是我想要的。我只是希望能有表的「當前」行是一個特定的...

感謝

經過進一步的研究,我發現,一個基於FORM控制「BindingSource」(或派生)允許這個,比如一個網格。但是,很明顯,.Net引擎正在做一些事情來最終將給定行「加載」到最終觸發回「BindingSource」的某個行中...... DataTable具有似乎由觸發的RowChanging和RowChanged事件OnRowChanging/OnRowChanged委託,但我們怎麼能告訴數據表我們希望哪個「行」作爲活動的。

表單控件可以爲它們的綁定源做到這一點,但觸發這些OnRowChanging事件真正發生了什麼......我不想重新加載數據表,行等,只是改變什麼被認爲是「活動」列,如網格,列表框,組合框等

回答

1

你試過:

MyDataTable.Rows[3]; 
MyDataTable.Rows[7]; 
MyDataTable.Rows[2]; 
+0

都能跟得上......這回來爲 錯誤只有分配,調用,增量,減量和新的對象表達式可以用作語句 – DRapp 2009-10-31 23:01:41