0

我试图在任何操作(例如排序)后将所选项目(数据键)保留在选定的网格视图中。我有保持选中状态的代码,但有时项目的最后位置(排序前的索引)保持选中状态,以及所选项目的新索引。

任何时候选择它,该项目都会绑定到一个详细信息视图,我用它来读回值。这是代码,任何帮助表示赞赏!谢谢

    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 都是唯一的。谢谢!

4

1 回答 1

0

Harv 是对的,感谢您的评论。实际上,我在 RowDataBound 中尝试执行此操作时留下了一些错误代码(这不起作用,不要在那里执行此操作),这导致了问题。我以为我已经删除了它,但我想没有。

谢谢,好直觉!(将其发布为答案,如果您想要 Harv,我会正确标记)

于 2009-07-10T20:47:29.330 回答