GridView
ユーザーデータを保持する があります。Page_Load
メソッドが呼び出されると、 を使用してデータを取得し、それDataTable
を にバインドしGridView
ます。各行の最後に、CheckBox
. この CB は、ユーザーが編集したいエンティティへのポインターとして使用されます。
私の問題は、チェックボックスのCheck_Changed
イベントです。コントロールがプログラムで生成されている場合、ハンドラーを追加する方法がわかりません。行のインデックスも必要です (フィールド値も可能ですが、列ヘッダーと列自体は非表示になっています)。
foreach (GridViewRow gvr in grdMitgliedsliste.Rows)
{
//add checkbox for every row
TableCell cell = new TableCell();
CheckBox box = new CheckBox();
cell.Controls.Add(box);
gvr.Cells.Add(cell);
//Hide columns for userid, status, etc.
gvr.Cells[0].Visible = false;
gvr.Cells[3].Visible = false;
gvr.Cells[4].Visible = false;
gvr.Cells[5].Visible = false;
gvr.Cells[8].Visible = false;
gvr.Cells[9].Visible = false;
}
ここからハンドラーを実装しようとしましたが、インデックス引数が与えられないため、チェックボックスがチェックされた行をプログラムが判断できません。