1

グリッドビュー内のチェックボックスのチェックボックスの状態を取得するにはどうすればよいですか? 私はプログラムでそれらをそのように追加しました、

  foreach (GridViewRow gvr in GridView1.Rows)
  {
     tbCell = new TableCell();
     cbGV = new CheckBox();
     tbCell.Controls.Add(cbGV);
     gvr.Cells.Add(tbCell);
  {

通常、アイテムテンプレート内にある場合、チェックボックスの状態を次のように取得しますが、これは機能していません。アイデアはありますか??

  foreach (GridViewRow getRowItems in GridView1.Rows)
  {
      chkBox = (CheckBox)(getRowItems.Cells[0].FindControl("cbGV"));

      if(chkBox.Checked == false) 
      {
      chkBox.Checked = true;
      }
  }
4

2 に答える 2

3

このようにチェックボックスを追加してみてください。つまり、テンプレート列として、検索しようとすると、チェックボックスを動的に追加するのではなく、これも機能します。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> 
<Columns> 
<asp:TemplateField> 
<ItemTemplate> 
<asp:CheckBox ID="cbGV" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 

要素にIDを指定するのを忘れたため、これは機能しません

cbGV = new CheckBox();
cbGV.ID="cbGV";
tbCell.Controls.Add(cbGV);

上記のようにIDを指定してから、行のチェックボックスを見つけてください

于 2012-11-05T07:38:45.797 に答える
0
foreach (GridViewRow gvr in GridView1.Rows)
{
 tbCell = new TableCell();
 cbGV = new CheckBox();
 cdGV.id="cbGV";
 tbCell.Controls.Add(cbGV);
 gvr.Cells.Add(tbCell);
}


foreach (GridViewRow getRowItems in GridView1.Rows)
{
  chkBox = (CheckBox)(getRowItems.Cells[0].FindControl("cbGV"));

  if(chkBox.Checked == false) 
  {
  chkBox.Checked = true;
  }

}

于 2012-11-06T09:31:37.287 に答える