问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

.net中如何在GridView里放复选按钮(ChekBox)以便批量删除

发布网友 发布时间:2022-04-27 12:50

我来回答

5个回答

热心网友 时间:2022-04-27 14:20

1.编辑模版列,在<ItemTemplate>拖入一个CheckBox.
2.GridView绑定的时候指定他的DataKeyNames属性,比如 GridView1.DataKeyNames = new string[] { "id" }; 如果是用数据源控件绑定的,就DataKeyNames="id",加上这个属性
3.protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection("server=shen;database=沈军辉;user id=sa;password=");
SqlCommand cmd;
for (int i = 0; i < GridView2.Rows.Count ; i++)
{
CheckBox cb = (CheckBox)GridView2.Rows[i].FindControl("CheckBox1");
if (cb.Checked == true)
{
cmd = new SqlCommand("delete from 学生 where 学号="+ GridView2.DataKeys[i].Value +"",conn);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
bind();//删除后重新绑定
}

热心网友 时间:2022-04-27 15:38

1.在标题前加入一个模板列,在模板列里加入一个CheckBox.
2.设置好GridView的DataKeyNames属性为主键
3.给你一个获取CheckBox选中情况的函数

/// <summary>
/// 获取GridView中选中的CheckBox对应行数据主键列表
/// </summary>
/// <param name="gv">GridView</param>
/// <param name="cb_id">CheckBox的ID</param>
/// <returns>返回选中列主键字符串</returns>
public static string GetCheckedBox(GridView gv, string cb_id)
{
string ids = ""; //选中的主健列表 格式:1,2,3
foreach (GridViewRow r in gv.Rows)
{
if (r.RowType == DataControlRowType.DataRow)
{
CheckBox cb = (CheckBox)r.FindControl(cb_id);
if (cb.Checked == true)
{
ids += gv.DataKeys[r.RowIndex].Value.ToString().Trim() + ",";
}
}
}
//长度大于0表示有选中的CheckBox,删除最后的,号!长度为0表示没有选中的CheckBox,返回一个空串!
return ids.Length > 0 ? ids.Substring(0, ids.Length - 1) : string.Empty;
}

用上面的函数获取到了选中列的所有主键,然后

4.如使用刚才的函数,返回选中的主键列变量名是 keys,
表名是:TableName 主键名是:KeyName

删除的sql就是 string sql = "Delete From TableName Where KeyName In ("+ keys +")"

执行这个sql就OK了

热心网友 时间:2022-04-27 17:12

第一步:先加入脚本
<script language="javascript" type="text/javascript">
function setCheckBox(frm)
{
var objCheckBoxItem = document.getElementsByTagName("input")
if (frm.GridView_ctl01_chkAll.checked)
{
for (var i = 0; i < objCheckBoxItem.length; i++)
if (objCheckBoxItem[i].type == "checkbox")
objCheckBoxItem[i].checked = true;
}
else
{
for (var i = 0; i < objCheckBoxItem.length; i++)
if (objCheckBoxItem[i].type == "checkbox")
objCheckBoxItem[i].checked = false;
}
}
</script>
--------------------------------
第二部:在页面上加入删除按钮(不是在GridView里),在GridView的<Columns>标签下加入ChekBox。
1.删除按钮:
<asp:ImageButton ID="btnDel" runat="server" ImageUrl="" width="56" height="22" hspace="3" ImageAlign="absmiddle" OnClick="btnDel_Click" />

2.GridView:
<asp:TemplateField>
<HeaderStyle CssClass="gr1"/>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<asp:checkbox id="chkItem" runat="server"></asp:checkbox>
</ItemTemplate>
<HeaderTemplate>
<asp:CheckBox ID="chkAll" runat="server"/>
</HeaderTemplate>
</asp:TemplateField>
---------------------------------------
第三部:后台代码
////////RowDataBound事件
protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.Header)
{
((CheckBox)e.Row.FindControl("chkAll")).Attributes.Add("onclick", "javascript:setCheckBox(this.form);");
}
}
/////////删除事件
protected void btnDel_Click(object sender, ImageClickEventArgs e)
{
int DeleteCount = 0;
try
{
for(int i = 0; i <= GridView.Rows.Count - 1; i++)
{
CheckBox cbox = (CheckBox)GridView.Rows[i].FindControl("chkItem");
if(cbox.Checked == true)
{
DeleteCount++;
string ID = GridView.DataKeys[i].Value.ToString();
//根据ID执行删除操作
}
}
if(DeleteCount != 0)
{
Page.RegisterStartupScript("", "<script language=javascript>alert('操作成功');</script>");
}
}
catch
{
}
if(DeleteCount == 0)
{
Response.Write("<script language=javascript>alert('请选择您要删除的记录')</script>");
return;
}
//重新绑定一次数据
}

热心网友 时间:2022-04-27 19:04

问题1.标题列放CHeckBox value设为标题
问题2 CheckBox选中时,其Checked属性为true
因此可以通过此属性判断那些是被选中状态
问题3 遍历所有CheckBox 检查其Checked属性,为true的则执行删除。。

热心网友 时间:2022-04-27 21:12

Q1. 选中Gridview --> Edit Templete --> ITem Templete --> 拖个checkbox进去 -->End Templete.

Q2. CheckBOx1.checked 属性进行判断true/false

Q3. 删除操作执行前, 先得到那几行被删除.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
build腰带迷失漂流瓶几元 BANDAI万代假面骑士Build 飞电01驱动器-适用对象 BANDAI 万代 假面骑士Build 飞电01驱动器-详细介绍 纸胶带能做什么手工 黑死病是哪个时期 黑死病和伽利略谁的时代更早 双十二有购物津贴吗 双12购物津贴领取方法和使用规则 双十二满减是多少?满减有什么规则? 双十二满减规则是什么?详细内容介绍 双12淘宝如何满减?规则是什么? pmp考试通过率多少?哪家机构比较强 PMP哪家通过率最高呢? 哪里的pmp远程培训通过率较高? 移动硬盘突然断开后无显示 磁盘管理里面能找到 但是 移动硬盘 无媒体? 家里拆机的3.5移动硬盘买了个硬盘盒连上电脑,磁盘管理显示无媒体是怎么回事? 可移动磁盘显示无媒体打不开 主机硬盘改的移动硬盘,强拔过一次,磁盘管理显示无媒体零容量 求求各位大大,帮帮忙呀,我的移动硬盘插上后就显示无媒体,有时候连这个都没,怎么回事呀,求 移动硬盘直接拨出来之后再次插上就读不出来,显示无媒体且容量为0,怎么处理? asp.net中跨页批量删除,怎么写?可以跨页选中,但是只能删除当前页的记录而不能删除其他页选中的记录。 在asp.net中,不用checkBox,怎么实现全选 IIIVIII代表哪四个罗马数字 班班通T98平板怎样下载钉钉 c#.net语句怎么样实现删除表中所有数据? 产假没按法定给可以申请劳动仲裁吗 是否可以申请劳动仲裁?(产假已休完 陪产假工资不给可以申请劳动仲裁吗 产假期间,公司不发放工资可以仲裁吗? 产假工资拖欠,询问仲裁怎么主张维权 孕期被降薪劳动仲裁还能走产假吗 我想查询我的联通话费账单明细,在哪里可以查到? 手机话费帐单哪里去查 但是移动话费月账单查询怎样可以查看到每个月的余额数字? 移动话费账单查询怎么查 完全同意的拼音怎样拼 表示完全同意如此的词语有哪些 我完全同意你的意见英语怎么写 翻译:完全同意 表示完全同意如此 这意思的成语是什么? agree to agree是不是完全同意 修改病句! 你的意见我基本同意,完全赞成. 怎么修改! 英语,简单问题,l couldn&#39;t agree more为什么翻译成,我完全同意 “我完全同意你的意见,只是有些地方还需要进一步商榷。”怎么修改病句 Icouldn&#39;tagreemore这句话的意思为什么是“我完全同意 我完全同意你的三条建议 英语翻译 谈恋爱时男生说“想分的话你考虑好了我完全同意你的想法”啥意思? I couldn&#39;t agree more这句话的意思为什么是“我完全同意?” I can’t agree more 中文意思是不同意还是同意? 完全同意 我完全同意这是一匹漂亮的马(翻译成英语)