2010-04-02 95 views
0

我有一個綁定到datagridview(Winforms)的DataTable ...我使用以下兩行來獲取在datagridview中選擇的DataRow ...從datagridview的選擇中獲取數據表中相應的行

 int l_intSelectedRow = DataGridView1.SelectedRows[0].Index; 

     DataRow l_drwSelectedRow = ControlGroupPostedItems.Tables["PostedItems"].Rows[l_intSelectedRow]; 

這工作正常,直到DataGridView排序...當gridview排序的時候,我得到不正確的值(排序視圖的第一個選擇返回第一排未排序的表)。

我怎麼能解決這個...是通過數據表的唯一途徑...循環

謝謝。

回答

0

您需要在數據對象上使用唯一的ID而不是數據集索引,然後使用該ID進行查找。

0

嘗試使用Select方法直接排序DataTable

http://msdn.microsoft.com/en-us/library/way3dy9w.aspx

+0

我該如何知道用戶按哪個順序排列了哪個列? – 2010-04-02 08:17:58

+0

爲了檢測列,你可以檢查用戶點擊的是哪個列標題。對於訂購,您可以通過每次點擊切換ASC/DESC來跟蹤每一列。 – thelost 2010-04-02 08:32:16

相關問題