重新排序Gridview时,选定的值不会更改

时间:2011-08-11 10:28:01

标签: .net asp.net vb.net visual-studio gridview

当我通过点击名为“修改”的链接按钮从我的gridview中选择一行时,它是行中的最后一个单元格。使用下面的代码,我可以从GridView1_RowCommand子中检索键值,并使用正确的数据移动到修改屏幕。

    Dim r As Integer = e.CommandArgument        
    GridView1.SelectedIndex = r
    Dim Company As String = GridView1.SelectedDataKey(0).ToString
    ModifyDetail(Company)

但是,如果我从搜索选项中重新订购Gridview,如下所示

    SqlDataSource.SelectCommand = NewSearchStr
    GridView1.DataBind()

当我尝试访问第一行时,它返回原始Gridview中的第一行值,而不是重新排序的值。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我认为这是一个持久性问题。出于安全原因,SelectCommand不会在ViewState中保留,因此每次初始化Grid时,您可能必须持久化并将DataSource分配给NewSearchStr。

请参阅VB Gridview selects wrong row for editing