2010-06-23 22 views
0

我需要添加复选框列到我的gridview在C#中。放置在GridView中的复选框在C#

我有我的代码:

   foreach (GridViewRow objRow in GrdDynamicControls.Rows) 
       { 
        if (dttableDetails.Columns.Contains(strColumnName)) 
        { 
         position = dttableDetails.Columns[strColumnName].Ordinal; 

         if (strtype.Contains("CheckBox")) 
         { 
          try 
          { 

           GrdDynamicControls.Rows[i].Cells.RemoveAt(position); 

           chkCheckBox.ID = strControlName; 

           chkCheckBox.AutoPostBack = true; 
           tcCheckCell.Controls.Add(chkCheckBox); 

           objRow.Cells.Add(tcCheckCell); 
           // GrdDynamicControls.Rows[i].Cells.AddAt(position, tcCheckCell); 
          } 
          catch { } 
          chkCheckBox.CheckedChanged += new EventHandler(chkCheckBox_CheckedChanged); 



         } 


        } 
      } 

但这overwritting在GridView中每个的objRow的复选框。即时通讯不能得到GridView.pls帮助中所有行的特定列的复选框...

+0

没有即时创建控件dynamically.it不是奥菱checkbox.ill报复下拉列表太。所以在GridView中的动态绑定我已经使用代码来创建复选框 – Innova 2010-06-23 13:56:18

回答

1

为什么不在标记中使用TemplateField控件,并在模板中定义复选框?这将是更易于管理...

<asp:GridVIew ...> 

    <Columns> 
    <asp:TemplateField ..> 
     <asp:CheckBox .. /> 
    </asp:TemplateField> 
    </Columns> 
</asp:GridVIew> 

而就设置好一切的标记

-1

使用的标记的模板列控制,并在模板中,而不是定义复选框:

<asp:TemplateField HeaderText="Delete" ItemStyle-Width="39px"> 
    <ItemTemplate> 
     <center> 
      <asp:CheckBox ID="chkDelete" runat="server" /> 
     </center> 
    </ItemTemplate> 
</asp:TemplateField>