0

我在 UpdatePanels 中有一个带有 GridView 和 DetailsView 的主/详细信息设置。编辑和更新 DetailsView 时,我希望这些更改反映在 GridView 中,但不重新绑定该数据(这可能会更改 selectedItem 的排序顺序以及它导致的其他问题)在 DetailsView ItemUpdated 上我有以下内容:

    ' Update Gridview '
    ProductsGridView.Rows(selectedIndex).Cells(1).Text = e.NewValues("ProductName")
    ProductsGridView.Rows(selectedIndex).Cells(2).Text = e.NewValues("Category")

这在更新时工作正常,但是当在 Gridview 中选择一个新项目时,更新的文本会消失。为什么会这样?我该如何保留这些信息?当它反弹时,如果它改变位置就可以了,直到它重新绑定我希望数据保持不变。谢谢。

4

1 回答 1

1

答:这是因为单元格的文本没有存储在视图状态中。我添加了文字控件来保存单元格的文本并相应地更新了文字的文本,而不是使用单元格的文本,如下所示:

        ' Update Gridview '
    CType(ProductsGridView.Rows(selectedIndex).FindControl("thisLit"), Literal).Text = e.NewValues("SomeValue")
    CType(ProductsGridView.Rows(selectedIndex).FindControl("someOtherLit"), Literal).Text = e.NewValues("OtherValue"))

信息现在保存在视图状态中并且可以完美运行 =)

于 2009-07-13T16:26:57.270 回答