Как заставить DataGrid изменить строку данных без необходимости обновления страницы?[VB.Net 2003] - PullRequest
0 голосов
/ 11 февраля 2019

Моя DataGrid на веб-странице, созданной с использованием VB.Net 2003, получает данные из SQL и содержит столбец «Флаг».В каждой строке добавлен столбец кнопок, так что флаг для строки может меняться между «Активным» и «Неактивным» одним щелчком мыши.

Вот код:

Private Sub CellClick(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Handles DataGrid1.ItemCommand

    Session("Emp") = e.Item.Cells(2).Text
    Session("Course") = e.Item.Cells(0).Text
    Session("Flag") = e.Item.Cells(8).Text

    'Change Flag Status in SQL
    If Session("Flag") = "Active" Then
        Dim updateState As String = "update [DB3].[dbo].[EMP_COURSE]" _
                            & "set [Flag] = 'Inactive'" _
                            & "where Employee_No = '" & Session("Emp") & "'" _
                            & "and CourseCode = '" & Session("Course") & "'"

        Dim conn = SQLDB
        Dim command As New SqlCommand(updateState, conn)


        conn.open()
        command.ExecuteNonQuery()
        conn.close()

        conn.dispose()
        command.Dispose()

    ElseIf Session("Flag") = "Inactive" Then
        Dim updateState As String = "update [SQLDB3].[dbo].[EMP_COURSE]" _
                            & "set [Flag] = 'Active'" _
                            & "where Employee_No = '" & Session("Emp") & "'" _
                            & "and CourseCode = '" & Session("Course") & "'"

        Dim conn = SQLDB
        Dim command As New SqlCommand(updateState, conn)


        conn.open()
        command.ExecuteNonQuery()
        conn.close()

        conn.dispose()
        command.Dispose()

    End If

    'auto-refresh page
    Response.Redirect(HttpContext.Current.Request.Url.ToString(), True)

End Sub

Как бы то ни было, чтобы имитировать автоматическое обновление данных в столбце «Флаг», мне нужно обновить всю веб-страницу, чтобы получить эти последние данные.Однако чем больше объем данных, тем больше времени требуется для загрузки.

Кроме того, на веб-странице добавлена ​​функция фильтра, позволяющая отображать определенные строки данных.Таким образом, пользователь может изменить флаг без необходимости слишком много прокручивать.

В связи с тем, что страница обновляется при каждом изменении флага, DataGrid сбрасывается для отображения полной таблицы.

Есть ли способ обновить DataGrid без обновления всей страницы, сохранив при этом все настройки фильтра?

...