我试图在选择任何操作(例如排序)后选择的网格视图中保留所选项目(datakey)。我有保持选择的代码,但有时项目的最后位置(排序前的索引)仍然被选中,以及所选项目的新索引。
任何时候选中它,该项都绑定到详细信息视图,我用它来读取值。这是代码,任何帮助表示赞赏!感谢
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
为什么选择多个项目?我知道ProductID对每个产品都是独一无二的。谢谢!
答案 0 :(得分:0)
哈夫是对的,谢谢你的评论。我实际上有一些错误的代码遗留在我试图在RowDataBound(这不起作用,不要在那里做)这导致问题的地方。我以为我删除了它,但我猜不是。
谢谢,良好的直觉! (将其作为答案发布,如果你想要Harv,我会将其标记为正确)