2013-03-20 82 views
0

我有一個文本框用於數據網格形式的購物車中的數量變更。當我點擊編輯鏈接按鈕時,它允許改變文本框。我試圖得到的是改變後的文本,然後替換我的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搞亂,但沒什麼區別。

我該如何解決這個問題?

回答

0

不確定是否需要editCommand或更新事件。從鏈接評論:

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

對不起,我還是一個新手。我不太懂你在說什麼。在OnEditCommand事件中投射對象? – user2192345 2013-03-20 19:41:03

+0

另外,Gridview如何與我的DataGrid一起工作? – user2192345 2013-03-20 19:48:08

+0

我的歉意 - 我看到你使用了一個DataGrid--他們在這方面非常相似。我只是沒有足夠的工作來舉例。 – OneFineDay 2013-03-20 20:02:14