如何在gridview中添加一列为checkbox的列?

如何在gridview中添加一列为checkbox的列?,第1张

c#编程中在Gridview添加一列checkbox(复选框)列,案例如下(要实现的效果,如下图所示):

在GridView中添加一列为CheckBox,代码如下:

<asp:GridView ID="GridView1" runat="server" >

<Columns>     

       <asp:BoundField DataField="vote_id" HeaderText="编号"/>

       <asp:BoundField DataField="vote_name" HeaderText="名称"/>  

   <asp:TemplateField HeaderText="选择">

       <ItemTemplate>

           <asp:CheckBox id="cbxId" runat="Server"/>

       </ItemTemplate>

   </asp:TemplateField>

</Columns>

</asp:GridView>

Gridview里的模版列

<asp:TemplateField HeaderText="Select">

<HeaderTemplate>

<asp:CheckBox ID="ckbAll" runat="server" onclick="javascript:SelectAllCheckboxes(this)" />

</HeaderTemplate>

<ItemStyle Width="100px" HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>

<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle"></HeaderStyle>

<ItemTemplate>

<asp:CheckBox ID="ckbItem" runat="server" />

</ItemTemplate>

</asp:TemplateField>

上面调用的一个js!有一定的局限!只能选中!不能反选 !

想反选的话你可以在cs里给第一个checkbox加事件!

cs代码:

foreach (GridViewRow sgvRow in this.gvAdsType.Rows)

{

CheckBox cbo = (CheckBox)sgvRow.FindControl("ckbItem")

CRED_AdsEntity objEntity = new CRED_AdsEntity()

if (cbo.Checked)

{

objEntity.sAdID = this.gvAdsType.DataKeys[sgvRow.RowIndex][0].ToString()

delList.Add(objEntity)

}

}

这个是循环谁被选中的!

绑定gridview时一定要把他的datakey绑上!

加分吧!come on!!!

这个需要将checkbox添加到GridView的模板列中,然后用下面代码:

for (int i = 0 i < GridView1.Rows.Count i++)

{

    CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1")

    if (cbox.Checked == true)

    {

        //要做的事

    }

}

上面从i就能知道是第几行,如果要获取表中id,还需要模板列中隐藏id,才好获取。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11525457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存