簡體   English   中英

在C#中的gridview中放置復選框

[英]placing checkbox in gridview in c#

我需要在C#中將復選框列添加到我的gridview中。

我有我的代碼:

               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);



                        }


                    }
            }

但這會覆蓋gridview中每個對象的復選框。 我無法獲取gridview.pls幫助中所有行的特定列的復選框...

為什么不在標記中使用TemplateField控件,而是在模板中定義復選框? 管理起來會更容易...

<asp:GridVIew ...>

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

並在標記中設置所有內容

嘗試在gridview上使用OnRowDataBound事件。 您可以使用它來指定要用於每一行的控件。 這是一個使用示例進行解釋的鏈接。

http://msdn.microsoft.com/zh-CN/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx

在標記中使用TemplateField控件,然后在模板中定義復選框:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM