Информация о строке сетки исчезает после selectedIndexChanged - PullRequest
0 голосов
/ 13 июля 2009

У меня есть настройки master / details с GridView и DetailsView в UpdatePanels. Когда 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, обновленный текст исчезает. Почему это так и как я могу сохранить эту информацию? Когда он восстанавливается, хорошо, если он меняет положение, но пока он не будет привязан, я бы хотел, чтобы эти данные сохранялись. Спасибо.

1 Ответ

1 голос
/ 13 июля 2009

Ответ. Это произошло потому, что текст ячейки не был сохранен в состоянии просмотра. Я добавил литеральные элементы управления для хранения текста ячейки и обновил текст литерала соответственно вместо использования текста ячейки, например:

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

Информация теперь хранится в viewstate и отлично работает =)

...