У меня есть элемент управления <asp:GridView>
на странице, которая показывает список элементов.Я включил подкачку для управления AllowPaging="True"
.Для свойства столбца есть текстовые поля, а другие подробности доступны только для чтения.Я хочу внести изменения во все текстовые поля элементов и хочу сохранить все сразу на основе условия.
Теперь моя проблема связана с включенной подкачкой страниц, когда я нажимаю кнопку Сохранить изменения на любой странице, List.Rows
возвращает только элементы на текущей странице, а не на всех страницах.Еще одна проблема, которую я обнаружил, - если я внесу изменения на первой странице, перейду на вторую страницу и внесу изменения, а затем перейду на первую страницу, сделанные мной изменения исчезнут, поэтому, возможно, даже моя первая проблема будет решена, она останется проблемой.Кто-нибудь может предложить, какие изменения могут быть сделаны, чтобы этот сценарий работал?
Ниже приведен пример кода для справки. ASPX:
<asp:GridView Id="foo" runat="server" AllowPaging="True" DataSourceID="bar">
.
.
<Columns>
.
.
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox /> //This is editable and I need to save all items at once
.
.
.
</ItemTemplate>
</asp:TemplateField>
</Columns>
.
.
<asp:GridView>
.
.
<asp:objectdatasource ID="bar" .... />
<asp:Button ID="savechanges" . . . . />
VB
Protected Sub savechanges_Click(....)
.
.
For Each element in foo.Rows //Here I get only current page rows, not all, plus when I go to next page, previous pages value flushes.
baz.Property = textbox.value //For sample, reading value for calculation
Next
Calc() //Some way to calculate all changed values
If pass Then
Save()
Else
Cancel()
End If
End Sub