当我通过点击名为“修改”的链接按钮从我的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中的第一行值,而不是重新排序的值。我错过了什么?
答案 0 :(得分:0)
我认为这是一个持久性问题。出于安全原因,SelectCommand不会在ViewState中保留,因此每次初始化Grid时,您可能必须持久化并将DataSource分配给NewSearchStr。