如何从Datagrid中获取Textbox数据

时间:2013-03-20 19:19:29

标签: asp.net vb.net datagrid textbox

我有一个文本框,用于购物车中数据网格形式的数量更改。当我点击编辑链接按钮时,它允许更改文本框。我想要的是改变后的文本然后替换我的dataTable中的原始数量。我尝试了很多不同的东西,但不能让改变的价值坚持下去。

以下是最终更改dataTable的代码:

       For Each objDR In myDataTable.Rows
        If objDR("ItemID") = intItemID Then
            objDR("Quantity") = Int32.Parse(myText) 'adding a specific int like 333 works
            Exit For
        End If
        Next

如上所述,如果我放置像“333”这样的特定值,则数量会发生变化。因此,当我点击更新时,问题必须停留在文本框值中,或者至少我是这样看的。

访问我试过的文本框文本的代码:

    Dim myText As String
    For Each dataGridItem As DataGridItem In dgCart.Items
        myText = CType(dataGridItem.FindControl("txtQuantity"), TextBox).Text
       'myText = DirectCast(dataGridItem.FindControl("txtQuantity"), TextBox).Text
    Next

    have also tried
    'Dim strQuantity As String = CType(dgCart.Items(0).FindControl("txtQuantity"), TextBox).Text

     'Dim txtQuantity As TextBox = e.Item.FindControl("txtQuantity")

我也试过搞乱txtbox的viewstate,但没有区别。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

不确定您是否需要editCommand或更新事件。来自评论中的链接:

Dim tb As TextBox = CType(e.Item.Cells(3).Controls(0), TextBox)