2009-07-10 56 views
0

我想保持選中的項目(數據鍵)在任何操作,如排序後選定的GridView中。我有保持選中的代碼,但是有時項目的最後位置(排序之前的索引)仍然處於選定狀態,同時還會選擇所選項目的新索引。保持在gridview問題中選定的項目

無論何時它被選中,該項目都會綁定到詳細信息視圖,我正在使用該視圖來讀取值。這裏是代碼,任何幫助表示讚賞!謝謝

Private Sub ProductsGridView_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles ProductsGridView.DataBound 

    Dim Row As GridViewRow 
    Dim SelectedValue As String = ProductDetailsView.DataKey("ProductID") 
    If SelectedValue Is Nothing Then 
     Return 
    End If 

    ' Determine if the selected row is visible and re-select it 
    For Each Row In ProductsGridView.Rows 
     Dim KeyValue As String = ProductsGridView.DataKeys(Row.RowIndex)("ProductID") 
     If (KeyValue = SelectedValue) Then 
      ProductsGridView.SelectedIndex = Row.RowIndex 
     End If 
    Next 

End Sub 

爲什麼選擇多個項目?我知道每個產品的ProductIDs都是獨一無二的。謝謝!

+0

這很難回答,但沒有看到你的所有代碼,但總的來說,這樣的錯誤歸結爲另一個事件正在解僱。您是否有頁面加載事件或其他正在觸發的事件,可能會在您進行此類回發時更改狀態? – Harv 2009-07-10 20:14:52

回答

0

Harv是對的,感謝您的評論。我實際上有一些錯誤的代碼留在了我想在RowDataBound中執行此操作的地方(這不起作用,不這樣做)導致了問題。我以爲我已經刪除它,但我想不是。

謝謝,好直覺! (作爲回答,我會標記它是正確的,如果你想Harv)