Получить значение из ASP.NET с GridView в поле на таблицу с нумерацией страниц
Привет,
Я пытаюсь получить значение из текстового поля внутри gridview, которое использует datatable с разбиением на страницы с помощью javascript Datatable.
Он показывает первые 10 строк datatable, хотя внутри gridview есть более 50 строк.
У меня есть текстовое поле для каждой строки, которое, когда вы добавляете в него значение, проверяет, существует ли это значение, а затем добавляет его в базу данных в виде количества.
Мой код работает, однако он может видеть только количество текстового поля текущей страницы пагинации, на которой он находится, а не все значения, как мне это исправить?
Вот мой код:
Dim index As Integer = 0 Dim row As GridViewRow = gvPartsAvailable.Rows(index) For Each oItem As GridViewRow In gvPartsAvailable.Rows Dim txt1 As TextBox = CType(oItem.Cells(6).FindControl("txtQty"), TextBox) If txt1.Text = "" Then Else Dim con As SqlClient.SqlConnection Dim cmd As SqlClient.SqlCommand con = New SqlClient.SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString").ToString) con.Open() cmd = New SqlClient.SqlCommand cmd.CommandText = "INSERT INTO [dbo].[tbl_TMGGoodsOrderDetail] ([OrderID], [PartNumber], [Line], [Description], [Description2], [Price], [Quantity]" & ") VALUES (@OrderID, @PartNumber, @Line, @Description, @Description2, @Price, @Quantity)" cmd.Parameters.AddWithValue("@OrderID", ID) cmd.Parameters.AddWithValue("@PartNumber", oItem.Cells(1).Text) cmd.Parameters.AddWithValue("@Line", oItem.Cells(2).Text) cmd.Parameters.AddWithValue("@Description", oItem.Cells(3).Text) cmd.Parameters.AddWithValue("@Description2", oItem.Cells(4).Text) cmd.Parameters.AddWithValue("@Price", oItem.Cells(5).Text.Replace("$", "")) cmd.Parameters.AddWithValue("@Quantity", txt1.Text) cmd.Connection = con cmd.ExecuteNonQuery() con.Close() End If Next
Что я уже пробовал:
Мой код работает, однако он может видеть только количество текстового поля текущей страницы пагинации, на которой он находится, а не все значения, как мне это исправить?
Вот мой код:
Dim index As Integer = 0 Dim row As GridViewRow = gvPartsAvailable.Rows(index) For Each oItem As GridViewRow In gvPartsAvailable.Rows Dim txt1 As TextBox = CType(oItem.Cells(6).FindControl("txtQty"), TextBox) If txt1.Text = "" Then Else Dim con As SqlClient.SqlConnection Dim cmd As SqlClient.SqlCommand con = New SqlClient.SqlConnection(System.Configuration.ConfigurationManager.AppSettings("ConnectionString").ToString) con.Open() cmd = New SqlClient.SqlCommand cmd.CommandText = "INSERT INTO [dbo].[tbl_TMGGoodsOrderDetail] ([OrderID], [PartNumber], [Line], [Description], [Description2], [Price], [Quantity]" & ") VALUES (@OrderID, @PartNumber, @Line, @Description, @Description2, @Price, @Quantity)" cmd.Parameters.AddWithValue("@OrderID", ID) cmd.Parameters.AddWithValue("@PartNumber", oItem.Cells(1).Text) cmd.Parameters.AddWithValue("@Line", oItem.Cells(2).Text) cmd.Parameters.AddWithValue("@Description", oItem.Cells(3).Text) cmd.Parameters.AddWithValue("@Description2", oItem.Cells(4).Text) cmd.Parameters.AddWithValue("@Price", oItem.Cells(5).Text.Replace("$", "")) cmd.Parameters.AddWithValue("@Quantity", txt1.Text) cmd.Connection = con cmd.ExecuteNonQuery() con.Close() End If Next
F-ES Sitecore
Когда вы просматриваете страницу 1, существуют только элементы управления для этой страницы, элементы управления для других страниц отсутствуют, поэтому они не могут содержать данные. Если вы поместите данные в элементы управления для страницы 1, а затем перейдете на страницу 2, элементы управления, содержащие значения для страницы 1, будут просто выброшены, а для страницы 2 будут созданы новые элементы управления. Если вы хотите запоминать значения при перемещении по страницам, вы Для этого нужно создать какой-то механизм. Вам нужно будет выполнить переход на следующую страницу при отправке формы (например, с помощью LinkButton), и вы запомните все непустые значения в списке или словаре в сеансе и обновите эти данные при перемещении. со страницы на страницу. Когда пользователь выбирает отправку, обрабатываются все данные.
Или вы можете просто оставить все как есть. Когда я нахожусь на” странице 1 “чего-то и перехожу на” страницу 2", я не ожидаю, что что-то, что я ввел на странице 1, все еще будет существовать, поскольку теперь так работает интернет, и люди это знают. Вы можете сделать так, чтобы показать предупреждение, если пользователь внес некоторые изменения в текстовые поля и пытается уйти, сообщая, хотят ли они остаться (используйте для этого событие onunload), и людям нужно будет отправлять изменения по странице за раз ... опять же то, что они привыкли делать.
Undergod11
В этом есть смысл... Спасибо.
Karthik_Mahalingam
возможное решение.