通过带有分页的数据表上的文本框从ASP.NET gridview获取值 [英] Get value from ASP.NET gridview with textbox on datatable with pagination

查看:48
本文介绍了通过带有分页的数据表上的文本框从ASP.NET gridview获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我试图从gridview中的文本框中获取值,该文本框使用带有分页的数据表,使用javascript Datatable。



它显示数据表的前10行,即使gridview内有50行以上。



我为每一行都有一个文本框,当你向它添加一个值时,它会检查该值是否存在,然后将该值作为数量添加到数据库中。



我的代码有效,但它只能查看当前分页​​页面的文本框数量而不是所有值,我该如何解决这个问题?



这是我的代码:



  Dim  index < span class =code-keyword> As  整数 =  0  
< span class =code-keyword> Dim row As GridViewRow = gvPartsAvailable.Rows(index)


对于 每个 oItem As GridViewRow gvPartsAvailable.Rows

Dim txt1 正如 TextBox = CType (oItem.Cells( 6 )。FindControl( txtQty),TextBox)

如果 txt1.Text = 然后

否则

Dim con As SqlClient.SqlConnection
Dim cmd As SqlClient.SqlCommand
con = SqlClient.SqlConnection(System.Configuration.ConfigurationManager.AppSettings( ConnectionString)。ToString)
con.Open()
cmd = SqlClient。 SqlCommand
cmd.CommandText = INSERT INTO [dbo]。[tbl_TMGGoodsOrderDetail]([OrderID],[PartNumber] ],[线],[描述],[描述2],[价格],[数量]&
)VALUES(@ OrderID,@ PartNumber,@ Line,@ Description,@ Description2,@ Price, @Quantity)
cmd.Parameters.AddWithValue( @ OrderID ,ID)
cmd.Parameters.AddWithValue( @ PartNumber,oItem.Cells( 1 )。文本)
cmd.Parameters.AddWithValue( @ Line,oItem.Cells( 2 )。文本)
cmd.Parameters.AddWithValue( @ Description,oItem.Cells( 3 )。 )
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()

结束 如果

下一步





我尝试过:



我的代码有效,但它只能查看当前分页​​页面的文本框数量而不是所有的值,我该如何解决这个问题?



这是我的代码:


  Dim  index  As  整数 =  0  
昏暗 row As GridViewRow = gvPartsAvailable.Rows(index)


对于 每个 oItem 作为 GridViewRow gvPartsAvailable.Rows

Dim txt1 As TextBox = CType (oItem.Cells( 6 )。FindControl( txtQty),TextBox)

如果 txt1.Text = 然后

否则

Dim con < span class =code-keyword> As
SqlClient.SqlConnection
Dim cmd As SqlClient.SqlCommand
con = SqlClient.SqlConnection(System.Configuration.ConfigurationManager.AppSettings( ConnectionString)。ToString)
con.Open()
cmd = 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 )。文本)
cmd.Parameters.AddWithValue( @ Line,oItem.Cells( 2 )。文本)
cmd.Parameters.AddWithValue( @ Description,oItem.Cells( 3 )。 )
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()

结束 如果

下一步

解决方案

< blockquote>, ))
cmd.Parameters.AddWithValue( @ Quantity,txt1.Text)

cmd.Connection = con
cmd.ExecuteNonQuery()
con.Close()

End 如果

下一步





我的尝试:



我的代码有效,但是只能看到它所在的当前分页页面的文本框数量而不是所有值,我该如何解决这个问题?



这是我的代码:



  Dim  index 正如 整数 =  0  
Dim As GridViewRow = gvPartsAvailable.Rows(index)


对于 每个 oItem 作为 GridViewRow gvPartsAvailable.Rows

Dim txt1 As TextBox = CType (oItem.Cells( 6 )。FindControl(< span class =code-string> txtQty),TextBox)

如果 txt1.Text = 然后

其他

Dim con As SqlClient.SqlConnection
Dim cmd 作为 SqlClient.SqlCommand
con = SqlClient.SqlConnection(System.Configuration.ConfigurationManager.AppSettings( ConnectionString)。ToString)
con.Open()
cmd = 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 )。文本)
cmd.Parameters.AddWithValue( @ Line,oItem.Cells( 2 )。文本)
cmd.Parameters.AddWithValue( @ Description,oItem.Cells( 3 )。 )
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()

结束 如果

下一步


Hi,

I am trying to get the value from a textbox inside a gridview that is using a datatable with pagination using a javascript Datatable.

It shows the first 10 rows of the datatable even though there are 50+ rows inside the gridview.

I have a textbox for each row that when you add a value to it, it checks to see if the value exists then adds the value into the database as a quantity.

My Code works, however it is only able to see the textbox quantity of the current pagination page it is on instead of all of the values, how do i fix this?

Here is my code:

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



What I have tried:

My Code works, however it is only able to see the textbox quantity of the current pagination page it is on instead of all of the values, how do i fix this?

Here is my code:

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

解决方案

", "")) cmd.Parameters.AddWithValue("@Quantity", txt1.Text) cmd.Connection = con cmd.ExecuteNonQuery() con.Close() End If Next



What I have tried:

My Code works, however it is only able to see the textbox quantity of the current pagination page it is on instead of all of the values, how do i fix this?

Here is my code:

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


这篇关于通过带有分页的数据表上的文本框从ASP.NET gridview获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆