2010-06-23 37 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>