C#中 如何给Datagridview添加一列checkbox
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中 如何给Datagridview添加一列checkbox相关的知识,希望对你有一定的参考价值。
如何给Datagridview添加一列checkbox,并且第一行设置全选复选框?
GridView1<HeaderTemplate>
<input id="chkAll1" runat="server" type="checkbox" name="chkAll1" onclick="CheckAll(this,\'GridView1\');" />全选
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="cbx1" />
</ItemTemplate>
function CheckAll(oCheckbox,strGvlist)
var GridView1 = document.getElementById(strGvlist);
for(i = 0;i < GridView1.rows.length; i++)
GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked;
参考技术A 在设置视图里面点击DataGridView右上角那个小三角,点击“编辑列”,“添加”,在弹出的“添加列”选项卡,类型选“DataGridViewCheckBoxColumn”
全选 只能放按钮吧 根webform不一样
this.dataGridView1.EndEdit();
for (int i = 0; i <dataGridView1.Rows.Count;; i++)
dataGridView1.Rows[i].Cells[0].Value = true;
参考技术B <asp:TemplateColumn>
<HeaderStyle Width="5px"></HeaderStyle>
<HeaderTemplate>
<asp:Button ID="Button1" runat="server" Text="全选" CssClass="btnSelect" CommandName="btn_sellall">
</asp:Button>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkAll" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
后台代码:
protected void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
if (e.CommandName == "btn_sellall")
CheckBox cb = new CheckBox();
int i, j = DataGrid1.Items.Count;
if (ViewState["CheckAll"].ToString() == "no")
for (i = 0; i < j; i++)
cb = (CheckBox)DataGrid1.Items[i].FindControl("chkAll");
cb.Checked = true;
ViewState["CheckAll"] = "yes";
else if (ViewState["CheckAll"].ToString() == "yes")
for (i = 0; i < j; i++)
cb = (CheckBox)DataGrid1.Items[i].FindControl("chkAll");
cb.Checked = false;
ViewState["CheckAll"] = "no";
这里的ViewState["checkAll"]保存的是选择的状态 pageLoad里面要加上
ViewState["checkAll"]="no";
以上是关于C#中 如何给Datagridview添加一列checkbox的主要内容,如果未能解决你的问题,请参考以下文章
C#在windowsform的datagridview表格里面添加一列删除按钮
如何在一个DataGridView中的一列添加DateTimePicker控件 C#
如何做:C#写的C/S程序,DataGridView中要添加一列下拉选框,下拉选框的内容由DataTable的一列绑定.