- 浏览: 73421 次
- 性别:
- 来自: 厦门
最新评论
-
BlueBing:
linyuliang 写道BlueBing 写道我想再做些修改 ...
IBatis Abator去除注释版 -
linyuliang:
BlueBing 写道我想再做些修改 可否提供下源码呢晚上我回 ...
IBatis Abator去除注释版 -
linyuliang:
xiaohu7924 写道为什么我用这个生成的名字不是你说的驼 ...
IBatis Abator去除注释版 -
xiaohu7924:
为什么我用这个生成的名字不是你说的驼锋名字,还是老样子
IBatis Abator去除注释版 -
BlueBing:
我想再做些修改 可否提供下源码呢
IBatis Abator去除注释版
在上一篇中,我们已经开发了需要的CheckBox控件,其位于HughLin.dll中。在本篇我们将讲解如何使用该控件,进行删除多条记录功能。
首先,在你的网站的Web.config文件中配置对该控件的引用。
在你的aspx文件中,使用如下:
在你的aspx.cs文件中实现删除方法DeleteUsers_Click
我在此使用的是强类型的DataSet:EmployeeData,该DataSet中有一个数据表Employee,该数据表包含列:UserName,RealName,Email。
你可以在App_Code文件夹中添加该数据集。并添加EmployeeBLL.cs文件,代码如下:
本程序使用了GotDotNet的DataAccess Application Block 3.0控件,该控件及其使用方法可以到www.gotdotnet.com去下载。
不过,在使用的过程,我发现如果PostBack后CheckBox控件的选择状态不能保存。美中不足,为此我改进了CheckBox控件。在下一篇中,我将发布该解决方案,这又将设计到另一个控件的开发。
首先,在你的网站的Web.config文件中配置对该控件的引用。
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<pages>
<controls>
<add namespace="HughLin.Web.UI.WebControls" tagPrefix="hlAsp" assembly="HughLin"/>
</controls>
</pages>
</system.web>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<pages>
<controls>
<add namespace="HughLin.Web.UI.WebControls" tagPrefix="hlAsp" assembly="HughLin"/>
</controls>
</pages>
</system.web>
<asp:LinkButton ID="DeleteUsers" runat="server" OnClientClick="if (AspNetV2_CheckHasData('UserCheckBoxGroup1')) {return confirm('您确定要删除所选用户吗?');};else {alert('您还未选择用户!');return false;}" OnClick="DeleteUsers_Click" CausesValidation="false">删除用户</asp:LinkButton>
1<asp:GridView ID="EmployeeGrid" runat="server" AutoGenerateColumns="False" DataKeyNames="UserName"
2 DataSourceID="EmployeeGridDataSource">
3 <Columns>
4 <asp:TemplateField>
5 <HeaderTemplate>
6 <hlAsp:CheckBox ID="SelectAll" runat="server" Group="UserCheckBoxGroup1" IsParent="true"
7 Text="全选" />
8 </HeaderTemplate>
9 <HeaderStyle Width="50px" />
10 <ItemStyle Width="50px" />
11 <ItemTemplate>
12 <hlAsp:CheckBox ID="UserNameCheckBox" runat="server" Group="UserCheckBoxGroup1" BindedValue='<%# Eval("UserName") %>' />
13 </ItemTemplate>
14 </asp:TemplateField>
15 <asp:BoundField DataField="RealName" HeaderText="姓名" SortExpression="RealName">
16 <HeaderStyle Width="100px" />
17 <ItemStyle Width="100px" />
18 </asp:BoundField>
23 <asp:BoundField DataField="Email" HeaderText="电子信箱" SortExpression="Email">
24 <HeaderStyle Width="160px" />
25 <ItemStyle Width="160px" HorizontalAlign="left" />
26 </asp:BoundField>
27 </Columns>
28 </asp:GridView>
29<asp:ObjectDataSource ID="EmployeeGridDataSource" runat="server" SelectMethod="GetAllEmployees"
30 TypeName="EmployeeBLL">
31 </asp:ObjectDataSource>
2 DataSourceID="EmployeeGridDataSource">
3 <Columns>
4 <asp:TemplateField>
5 <HeaderTemplate>
6 <hlAsp:CheckBox ID="SelectAll" runat="server" Group="UserCheckBoxGroup1" IsParent="true"
7 Text="全选" />
8 </HeaderTemplate>
9 <HeaderStyle Width="50px" />
10 <ItemStyle Width="50px" />
11 <ItemTemplate>
12 <hlAsp:CheckBox ID="UserNameCheckBox" runat="server" Group="UserCheckBoxGroup1" BindedValue='<%# Eval("UserName") %>' />
13 </ItemTemplate>
14 </asp:TemplateField>
15 <asp:BoundField DataField="RealName" HeaderText="姓名" SortExpression="RealName">
16 <HeaderStyle Width="100px" />
17 <ItemStyle Width="100px" />
18 </asp:BoundField>
23 <asp:BoundField DataField="Email" HeaderText="电子信箱" SortExpression="Email">
24 <HeaderStyle Width="160px" />
25 <ItemStyle Width="160px" HorizontalAlign="left" />
26 </asp:BoundField>
27 </Columns>
28 </asp:GridView>
29<asp:ObjectDataSource ID="EmployeeGridDataSource" runat="server" SelectMethod="GetAllEmployees"
30 TypeName="EmployeeBLL">
31 </asp:ObjectDataSource>
1 // 删除用户
2 protected void DeleteUsers_Click(object sender, EventArgs e)
3 {
4 EmployeeData employeeData = new EmployeeData();
5
6 // 获取被选中的用户名集合
7 foreach (GridViewRow row in EmployeeGrid.Rows)
8 {
9 TableCell cell = row.Cells[0];
10 HughLin.Web.UI.WebControls.CheckBox userNameCheckBox = (HughLin.Web.UI.WebControls.CheckBox)cell.FindControl("UserNameCheckBox");
11 if (userNameCheckBox.Checked)
12 {
13 string userName = userNameCheckBox.BindedValue;
14 EmployeeData.EmployeeRow dataRow = employeeData.Employee.NewEmployeeRow();
15 dataRow.UserName = userName;
16 employeeData.Employee.Rows.Add(dataRow);
17 dataRow.AcceptChanges();
18 dataRow.Delete();
19 }
20 }
21 bool flag = (new EmployeeBLL()).DeleteEmployee(employeeData);
22 if (flag)
23 {
24 EmployeeGrid.DataBind();
25 }
26 }
2 protected void DeleteUsers_Click(object sender, EventArgs e)
3 {
4 EmployeeData employeeData = new EmployeeData();
5
6 // 获取被选中的用户名集合
7 foreach (GridViewRow row in EmployeeGrid.Rows)
8 {
9 TableCell cell = row.Cells[0];
10 HughLin.Web.UI.WebControls.CheckBox userNameCheckBox = (HughLin.Web.UI.WebControls.CheckBox)cell.FindControl("UserNameCheckBox");
11 if (userNameCheckBox.Checked)
12 {
13 string userName = userNameCheckBox.BindedValue;
14 EmployeeData.EmployeeRow dataRow = employeeData.Employee.NewEmployeeRow();
15 dataRow.UserName = userName;
16 employeeData.Employee.Rows.Add(dataRow);
17 dataRow.AcceptChanges();
18 dataRow.Delete();
19 }
20 }
21 bool flag = (new EmployeeBLL()).DeleteEmployee(employeeData);
22 if (flag)
23 {
24 EmployeeGrid.DataBind();
25 }
26 }
你可以在App_Code文件夹中添加该数据集。并添加EmployeeBLL.cs文件,代码如下:
1 /**//// <summary>
2 /// 删除员工数据
3 /// </summary>
4 /// <param name="employeeData">员工数据集合</param>
5 /// <returns>删除是否成功</returns>
6 public bool DeleteEmployee(EmployeeData employeeData)
7 {
8 bool flag = false;
9 IDbTransaction tran = null;
10 string[] sourceColumns =
11 new string[] { employeeData.Employee.UserNameColumn.ColumnName };
12 try
13 {
14 AdoHelper adoHelper = AdoHelper.CreateHelper(DbUtil.DbProvider);
15 IDbCommand insertCommand = null;
16 IDbCommand updateCommand = null;
17 IDbConnection conn = adoHelper.GetConnection(DbUtil.ConnectionString);
18 conn.Open();
19 tran = conn.BeginTransaction();
20 IDbCommand deleteCommand = adoHelper.CreateCommand(conn, "DeleteEmployee", sourceColumns);
21 deleteCommand.Transaction = tran;
22 adoHelper.UpdateDataset(insertCommand, deleteCommand, updateCommand, employeeData, employeeData.Employee.TableName);
23 tran.Commit();
24 flag = true;
25 }
26 catch
27 {
28 try
29 {
30 if (tran != null)
31 {
32 tran.Rollback();
33 }
34 }
35 catch
36 {
37 }
38 }
39 return flag;
40 }
2 /// 删除员工数据
3 /// </summary>
4 /// <param name="employeeData">员工数据集合</param>
5 /// <returns>删除是否成功</returns>
6 public bool DeleteEmployee(EmployeeData employeeData)
7 {
8 bool flag = false;
9 IDbTransaction tran = null;
10 string[] sourceColumns =
11 new string[] { employeeData.Employee.UserNameColumn.ColumnName };
12 try
13 {
14 AdoHelper adoHelper = AdoHelper.CreateHelper(DbUtil.DbProvider);
15 IDbCommand insertCommand = null;
16 IDbCommand updateCommand = null;
17 IDbConnection conn = adoHelper.GetConnection(DbUtil.ConnectionString);
18 conn.Open();
19 tran = conn.BeginTransaction();
20 IDbCommand deleteCommand = adoHelper.CreateCommand(conn, "DeleteEmployee", sourceColumns);
21 deleteCommand.Transaction = tran;
22 adoHelper.UpdateDataset(insertCommand, deleteCommand, updateCommand, employeeData, employeeData.Employee.TableName);
23 tran.Commit();
24 flag = true;
25 }
26 catch
27 {
28 try
29 {
30 if (tran != null)
31 {
32 tran.Rollback();
33 }
34 }
35 catch
36 {
37 }
38 }
39 return flag;
40 }
不过,在使用的过程,我发现如果PostBack后CheckBox控件的选择状态不能保存。美中不足,为此我改进了CheckBox控件。在下一篇中,我将发布该解决方案,这又将设计到另一个控件的开发。
发表评论
-
实现GridView控件的删除多条记录功能系列(1)
2005-08-10 14:15 1471在Asp.Net 2.0中新增的控件GridView可 ... -
实现GridView控件的删除多条记录功能系列(3)
2005-08-11 12:18 1334本篇将讲述如何解决GridView控件中使用Check ... -
[转]C#正则表达式小结
2007-09-24 11:38 1220地址: http://www.cnblogs.co ... -
[转]全面剖析C#正则表达式
2007-09-24 11:41 1390地址:http://fineboy.cnblogs.com/ ... -
(转贴)VS.NET下水晶报表分发时的问题及解决
2007-10-18 17:27 1180一、载入报表时报错 ... -
(转贴)图解使用VS.NET部署含水晶报表的网站
2007-10-18 17:56 2139Crystal Report ,中文名称“水晶报表”,因为做报 ... -
[转]VS2005 web程序自定义安装包的制作
2007-10-23 10:28 2122利用VS2005的“Web安装项目”建立安装包很难对安装过程进 ... -
[转]使用C#进行点对点通讯和文件传输(通讯基类部分)
2007-10-24 10:59 935最近一个项目要用到点对点文件传输,俺就到处找资料写程序,最后终 ... -
[转]使用C#进行点对点通讯和文件传输(发送接收部分)
2007-10-24 11:00 1689上面介绍了通讯的基类,下面就是使用那个类进行发送和接收的部分: ... -
[转载]C#中串口通信编程
2007-10-24 11:01 4525原文及源代码位置:http://bbs.msproject.c ... -
[转]C#多线程编程实例实战
2007-10-24 11:02 1679单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现, ... -
[转]实现同时只允许运行一个程序实例
2007-10-24 11:06 1140方法一: /// <summary> /// 从这 ... -
[转]IIS虚拟目录控制类
2007-10-24 11:08 450using System;using System.Data; ... -
[转]C# 调用API,实现注销远程登录本机的用户
2007-10-24 11:08 1854using System;using System.Manag ... -
[转]C#的usb通讯编程
2007-10-24 11:10 2819using System;using System.Colle ... -
[转]IIS站点管理类
2007-10-24 11:10 974using System;using System.Colle ... -
[转]使用.NET实现断点续传
2007-10-24 11:11 1334断点续传的原理 在了解HTTP断点续传的原理之前,先来说说HT ... -
[转]Datagridview 实现二维表头
2007-10-26 16:42 2345最近把我们的b/s系统,增加智能客户端的功能。确实智能客户端是 ... -
[转]Web项目下NHibernate的Session管理的解决方案
2007-11-07 10:47 3397NHibernate的Session的管理一直是个问题,在系统 ... -
[转] NHibernate对像版本控制使用示例
2007-11-07 10:49 1259<version name="Version& ...
相关推荐
### GridView控件的概述 #### 一、简介 在ASP.NET Web应用程序开发中,`GridView`控件扮演着至关重要的角色。它不仅被广泛应用于数据的显示,而且因其丰富的特性和灵活性,在各种复杂的数据交互场景中都有着出色的...
ASP.NET 编程知识 - GridView 控件实现数据的显示和删除 本节学习内容是新闻列表的实现,使用分页功能一个页面显示 4 条新闻。在新闻显示页面,添加一个字段“删除”,运行时,单击该行的“删除按钮时”,弹出...
特别是在涉及到多条记录的管理时,利用CheckBox来辅助用户选择需要操作的数据项变得尤为实用。本文将详细介绍如何在C#环境下使用GridView控件结合CheckBox实现对数据库中记录的删除功能。 #### 一、项目搭建 1. **...
- **复选框**:在 Gridview 中添加 CheckBox 控件,可以方便地让用户选择多条记录。这对于批量操作非常有用,比如批量删除或修改记录。 **6. 鼠标移到 GridView 某一行时改变该行的背景色** - **改变背景色**:当...
对于“删除修改每一条记录”,GridView提供了内置的行编辑和删除功能。开启这些功能,只需设置GridView的AllowEditing和AllowDeleting属性为true。然后,为Edit和Delete按钮绑定适当的事件处理程序,如RowEditing、...
此外,为了实现新闻管理功能,可以使用GridView控件结合数据源控件,通过预定义的查询、修改和删除语句,通过点击GridView中的按钮来触发对新闻条目的相应操作,如修改新闻内容、删除新闻或者查看详细信息。...
GridView由一系列行和列组成,其中每一行代表数据源中的一条记录,而每一列则对应记录的字段。默认情况下,GridView会为每一条记录生成一个模板列,用于显示字段值。 3. 数据绑定: 使用GridView的第一步通常是将...
这个文档标题提到的“GridView结合CheckBox实现多条删除”就是一种常见的场景,它涉及到GridView控件和CheckBox控件的结合使用,以允许用户选择多个记录进行批量操作。 GridView是ASP.NET中一个强大的数据绑定控件...
以上只是部分GridView的使用技巧,实际应用中,开发者还可以结合其他ASP.NET控件和服务器端事件,以及前端技术,实现更多复杂的功能和定制化的用户体验。对于初学者来说,熟练掌握这些技巧将极大地提升开发效率。
一、表头表尾 1、自定义多行表头,列合并,行合并 2、删除表身指定列、行 3、固定表头,向下拉动滚动条时,表头固定不动 4、表脚行统计,总计、平均值 二、导入导出 ...根据主键多条记录删除,单条记录删除。
在实际应用中,常常需要提供全选功能,以便于用户一次性选择多条记录进行批量操作,如删除、修改等。本文将探讨两种在 GridView 控件中实现全选功能的解决方案。 **第一种:利用客户端控件实现全选** 这种方法通过...
首先,GridView控件是用于显示多条记录的表格形式的数据控件,它支持排序、分页、编辑和删除功能。由于其功能强大且易于使用,GridView通常是数据呈现的首选。在.NET 2.0及更高版本中,GridView控件增加了对数据源...
- 在GridView控件中设置`AllowSorting`属性为`True`。 - 可通过前端JavaScript或者后端代码实现切换排序方向的功能。 #### 4. GridView和下拉菜单`DropDownList`结合 - **功能概述**:在GridView中集成下拉菜单,...
在ASP.NET开发中,GridView控件是一个非常常用的数据展示组件,尤其在网页表格数据的处理上,它提供了丰富的功能和自定义选项。本资源“gridview使用大全”旨在全面讲解如何充分利用GridView控件来实现各种复杂的...
### GRID控件删除之前确认 在开发Web应用程序时,经常需要用到GRID控件来展示和管理数据。为了提高用户体验和防止误操作,实现删除操作前的确认功能是非常必要的。本篇文章将详细探讨如何在GRID控件中实现删除操作...
在Gridview中添加CheckBox可以方便地让用户选择一条或多条记录。 #### 如何在Gridview中使用CheckBox 在Gridview中使用CheckBox通常涉及到以下几个步骤: 1. **在Gridview中添加CheckBox列**:首先需要在Gridview...
在ASP.NET Web应用程序中,GridView控件是一种常用的数据展示组件,它可以轻松地绑定到数据源并展示数据。本文将深入探讨GridView的各种使用方法,包括代码分页、保存和恢复CheckBox的状态、排序、与DropDownList和...
将两者结合使用,可以实现对多条记录的批量操作,如删除、编辑等。本文将基于提供的代码示例来详细解析`GridView`与`CheckBox`结合使用的具体实现方法。 #### 二、准备工作 **1. 数据库准备:** - 使用SQL Server...
对于多条记录的删除,可能需要通过选择多个行,然后统一执行删除操作。 在列表页面上, GridView可以展示数据列表,每行代表一条记录,用户可以浏览、选择和操作这些记录。这需要在后台代码中处理GridView的事件,...