2013-04-06 75 views
0

我在我的ASP GridView中創建了一個Templatefield,現在我想爲GridView中的複選框寫一個小邏輯。我嘗試的FindControl代碼沒有成功,我用這些組合...GridViewView FindControl裏面SelectedIndexChanged事件

 Dim chkChosen As CheckBox = 

    'GridView1.Rows(e.RowIndex).FindControl("Checkbox1") 
     ' DirectCast(GridView1.Rows(e.RowIndex).FindControl("Checkbox1"), CheckBox).Value 
    'chkChosen = (CheckBox)row.FindControl("Checkbox1") 

我評論他們,因爲我已經用這三個沒有成功的組合。他們都給我同樣的錯誤......「RowIndex不是SystemArg的成員...」。所有這些都在「SelectedIndexChanged」受保護的子項下。

+0

烏爾得到錯誤BCZ e.RowIndex不選擇行索引有效改變.......事件.... – 2013-04-06 12:37:44

+0

oK ...所以我應該把它放在什麼類型的事件?或者我需要改變RowIndex的其他東西? – 2013-04-06 12:45:34

回答

0

這應該工作你的情況:

Dim chkChosen As CheckBox = CType(GridView1.SelectedRow.FindControl("Checkbox1"), CheckBox) 
+1

這工作完美。我有一個類似的代碼,但不能得到它的工作,嘿。太感謝了! – 2013-04-06 13:06:14

0

你可以得到由GridView的選擇行Index..lyk這

GridViewRow row = GridView1.Rows[GridView1.SelectedIndex]; 

cHeckbox chk=row.FindControl("chk"); 
+0

我將代碼調用到VB ..'Dim GridViewRow As Row = GridView1.Rows.SelectedIndex'並得到這個錯誤「Error 'System.Data.SqlClient.Row'在此上下文中不可訪問,因爲它是'Friend '\t「 – 2013-04-06 13:00:11

+0

Gridview1.Rows.Selected in只給出索引號。您必須編寫lyk這個GridView1.Rows [GridView1.SelectedIndex]; – 2013-04-06 13:01:50

相關問題