GridView与CheckBox结合实现多选删除
2012-12-03 16:02
381 查看
js脚本代码(实现全选):
function SelectAll() {
//获取GridView中全部input对象集合,“GridView.ClientID”是获得经服务器处理后经过更改的id
var obj = document.getElementByIdx_xx_x_x_x("<%=GridView.ClientID%>").getElementsByTagName_r("input"); //注意此处代码在本博文发布时,新浪博客会自动更改,请自行更改
//遍历input对象,因为input对象类型type只有checkbox所以不用判断。i=1是要去掉表头的input对象
for (var i = 1; i < obj.length; i++) {
if (obj[i].checked == false) {
obj[i].checked = true;
}
else {
obj[i].checked = false;
}
}
//如果input对象类型type还有其他类型(如text、button等),则再增加个判断即可
//for (var i = 1; i < obj.length; i++) {
// if (obj[i].type == "checkbox"){
// if (obj[i].checked == false) {
// obj[i].checked = true;
// }
// else {
// obj[i].checked = false;
// }
// }
//}
}
aspx页面代码:
<asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />
<asp:GridView ID="GridView1" runat="server" DataKeyNames="id">
<Columns>
<asp:TemplateField ItemStyle-Width="60" ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>
<input id="chkHeader" type="checkbox" onclick="SelectAll();" />选择
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkItem" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<-- 其他列略,CheckBox控件我放在了首列,也建议大家这么做,如果没在首列,要更改后台cs文件代码 -->
</Columns>
</asp:GridView>
后台cs代码:
protected void btnDelete_Click(object sender, EventArgs e)
{
bool Choose = false; //用于标记GridView中任意CheckBox控件是否被选中
bool Wrong = false; //用于标记删除GridView中某一行的数据时是否失败
string msg = ""; //用于记录当删除失败时存储的错误信息
//遍历GridView所有行
CourseManage m_CourseManage = new CourseManage(); //此为Bll层类,根据你的需要自行更改
for (int i = 0; i < GridView1.Rows.Count; i++)
{
//如果某一行的CheckBox被选中,则执行删除操作
CheckBox chk = (CheckBox)(GridView1.Rows[i].Cells[0].FindControl("chkItem"));
if (chk.Checked == true)
{
Choose = true;
//获取要被删除的记录id
int id = Convert.ToInt32(GridView1.DataKeys[i].Value);
if (m_CourseManage.Delete(id) == false) //请自行更改
{
Wrong = true;
msg = msg + "第" + (i + 1) + "行删除失败!";
continue;
}
}
}
//校验
if (Choose == false)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('没有任何选项被选中,无法删除!');</script>");
return;
}
if (Wrong == true)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('" + msg + "请联系管理员');</script>");
return;
}
GridView1.DataSource = m_CourseManage.SelectAll(); // 自行更改
GridView1.DataBind();
}
原文地址:http://blog.sina.com.cn/s/blog_8278b1800100wzdv.html
function SelectAll() {
//获取GridView中全部input对象集合,“GridView.ClientID”是获得经服务器处理后经过更改的id
var obj = document.getElementByIdx_xx_x_x_x("<%=GridView.ClientID%>").getElementsByTagName_r("input"); //注意此处代码在本博文发布时,新浪博客会自动更改,请自行更改
//遍历input对象,因为input对象类型type只有checkbox所以不用判断。i=1是要去掉表头的input对象
for (var i = 1; i < obj.length; i++) {
if (obj[i].checked == false) {
obj[i].checked = true;
}
else {
obj[i].checked = false;
}
}
//如果input对象类型type还有其他类型(如text、button等),则再增加个判断即可
//for (var i = 1; i < obj.length; i++) {
// if (obj[i].type == "checkbox"){
// if (obj[i].checked == false) {
// obj[i].checked = true;
// }
// else {
// obj[i].checked = false;
// }
// }
//}
}
aspx页面代码:
<asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />
<asp:GridView ID="GridView1" runat="server" DataKeyNames="id">
<Columns>
<asp:TemplateField ItemStyle-Width="60" ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>
<input id="chkHeader" type="checkbox" onclick="SelectAll();" />选择
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkItem" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<-- 其他列略,CheckBox控件我放在了首列,也建议大家这么做,如果没在首列,要更改后台cs文件代码 -->
</Columns>
</asp:GridView>
后台cs代码:
protected void btnDelete_Click(object sender, EventArgs e)
{
bool Choose = false; //用于标记GridView中任意CheckBox控件是否被选中
bool Wrong = false; //用于标记删除GridView中某一行的数据时是否失败
string msg = ""; //用于记录当删除失败时存储的错误信息
//遍历GridView所有行
CourseManage m_CourseManage = new CourseManage(); //此为Bll层类,根据你的需要自行更改
for (int i = 0; i < GridView1.Rows.Count; i++)
{
//如果某一行的CheckBox被选中,则执行删除操作
CheckBox chk = (CheckBox)(GridView1.Rows[i].Cells[0].FindControl("chkItem"));
if (chk.Checked == true)
{
Choose = true;
//获取要被删除的记录id
int id = Convert.ToInt32(GridView1.DataKeys[i].Value);
if (m_CourseManage.Delete(id) == false) //请自行更改
{
Wrong = true;
msg = msg + "第" + (i + 1) + "行删除失败!";
continue;
}
}
}
//校验
if (Choose == false)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('没有任何选项被选中,无法删除!');</script>");
return;
}
if (Wrong == true)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('" + msg + "请联系管理员');</script>");
return;
}
GridView1.DataSource = m_CourseManage.SelectAll(); // 自行更改
GridView1.DataBind();
}
原文地址:http://blog.sina.com.cn/s/blog_8278b1800100wzdv.html
相关文章推荐
- GridView控件与CheckBox结合,实现全选功能,同时实现删除选中的多行数据 .
- ASPxGridView 结合CheckBox实现多选(在后台事件代码控制)
- GridView和CheckBox结合实现可选择删除
- GridView和CheckBox结合实现可选择删除
- gridview checkbox 多选 全选 全不选 反选 删除 实现
- ASPxGridView 结合CheckBox实现多选(在后台事件代码控制)
- GridView和CheckBox结合实现可选择删除
- gridview和CheckBox结合实现多选,并用用table显示出来。
- GridView控件与CheckBox结合,实现全选功能,同时实现删除选中的多行数据
- GridView行颜色交替及与checkbox 结合实现多选
- Asp.net TreeView异步加载数据,并结合checkbox实现多选删除
- GridView 实现自定义分页、排序、查询、添加、编辑、多选删除
- GridView控件与CheckBox结合,实现…
- GridView 实现自定义分页、排序、查询、添加、编辑、多选删除 之代码规范
- GridView控件实现批量删除功能(checkbox)
- GridView 实现自定义分页、排序、查询、添加、编辑、多选删除 之代码规范
- Android Listview与Checkbox结合实现选择,删除,显示选择结果
- listview 结合checkbox 实现多选
- GridView模板列中添加CheckBox 实现全选、删除
- ListView CheckBox 完美实现多选、新增、删除、全选功能