2016-04-04 11 views
0

いくつかの行を持つGridviewがあるとします。私はドロップダウンリストを含む2つの列があります。 私の質問は、GridViewのSelectedIndexChangedイベントが1つのドロップダウンリストで発生した場合など、GridViewのRowIndexを見つけて、別のドロップダウンリストの機能を同じ行に適用できるようにすることです(コメントも参照してください)。だからあなたの方法になるDataGridViewCellEventArgsGridViewのDropDownList

protected void dropdown1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    // I want the row index so that i can apply the functionality in same row 
    // If this doesn't work, any alternative ? 
} 


protected void func() 
{ 
    DataTable dt = (DataTable)ViewState["CurrentTable"] 
    for(int i = 0; i<dt.Rows.Count; i++) 
    { 
     DropdownList d1 = (DropDownList)GridView1.Rows[i].Cells[0].FindControl("dropdown1"); 
     DropdownList d2 = (DropDownList)GridView1.Rows[i].Cells[1].FindControl("dropdown2"); 
    } 
} 

答えて

1

サンプルコードは以下のとおりですGridViewの行は次のようになります。

protected void dropdown1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DropDownList dropdown1 = sender as DropDownList; 
    GridViewRow row = dropdown1.NamingContainer as GridViewRow; 
    // Do something with row or with row.RowIndex 
} 
0

変更EventArgsを、あなたはe

から行を取得することができます:あなたが得ることができます

protected void dropdown1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    int row = e.RowIndex; 
} 
+0

これは機能しませんでした。 DataGridViewCellEventArgs行のエラー –

関連する問題