GridView DataGrid

article/2025/9/10 8:34:21

ASP.NET 2.0提供了功能强大的数据绑定控件GridView、在使用中,一些属性和方法经常会与ASP.NET 1.1中的DataGrid混淆(VS2005中依然可以使用DataGrid,手动添加到工具箱或HTML状态输入代码),下面我们分别用GridView和DataGrid实现其数据绑定、编辑、更新、删除等,从其代码中看两者的不同。
页面:

1 < asp:GridView  ID ="GridView1"  runat ="server"  AutoGenerateColumns ="False"  Width ="100%"  OnRowEditing ="GridView1_RowEditing"  OnRowCancelingEdit ="GridView1_RowCancelingEdit"  OnRowUpdating ="GridView1_RowUpdating"  DataKeyNames ="cat_id"  OnRowDeleting ="GridView1_RowDeleting" >
2              < Columns >
3                 < asp:BoundField  DataField ="cat_tag"  HeaderText ="分类名称"   />                                         
4                 < asp:BoundField  DataField ="rec_dd"  HeaderText ="创建日期"   />          
5                 < asp:CommandField  ShowEditButton ="True"   />
6                  < asp:CommandField  ShowDeleteButton ="True"   />
7              </ Columns >
8          </ asp:GridView >

1   < asp:DataGrid  ID ="DataGrid1"  runat  ="server"  AutoGenerateColumns ="False"  Width ="100%"  OnCancelCommand ="DataGrid1_CancelCommand"  OnEditCommand ="DataGrid1_EditCommand"  OnUpdateCommand ="DataGrid1_UpdateCommand"  DataKeyField ="cat_id"  OnDeleteCommand ="DataGrid1_DeleteCommand"   >
2          < Columns >
3              < asp:BoundColumn  DataField ="cat_tag"  HeaderText ="分类名称" ></ asp:BoundColumn >
4              < asp:BoundColumn  DataField ="rec_dd"  HeaderText ="创建日期"   ></ asp:BoundColumn >
5              < asp:EditCommandColumn  CancelText ="取消"  EditText ="编辑"  UpdateText ="更新" ></ asp:EditCommandColumn >
6              < asp:ButtonColumn  CommandName ="Delete"  Text ="删除" ></ asp:ButtonColumn >
7          </ Columns >
8      </ asp:DataGrid >
代码实现:
1   //  数据绑定
2      private   void  GridBind()
3      {
4        .
5        GridView1.DataSource = dt;
6        GridView1.DataBind();
7        DataGrid1.DataSource = dt;
8        DataGrid1.DataBind();
9    }

1、GridView
 1    //  编辑
 2      protected   void  GridView1_RowEditing( object  sender, GridViewEditEventArgs e)
 3      {
 4        GridView1.EditIndex = e.NewEditIndex;
 5        GridBind();
 6    }

 7      // 取消
 8      protected   void  GridView1_RowCancelingEdit( object  sender, GridViewCancelEditEventArgs e)
 9      {
10        GridView1 .EditIndex  = -1;
11        GridBind();
12    }

13      // 更新
14      protected   void  GridView1_RowUpdating( object  sender, GridViewUpdateEventArgs e)
15      {
16        string id = GridView1.DataKeys[e.RowIndex][0].ToString();
17        string newtxt = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
18        string strSql = "UPDATE cat SET cat_tag='" + newtxt + "' WHERE cat_id=" + id;
19        uc.ExecuteQuery(strSql);
20        GridView1.EditIndex = -1;
21        GridBind();
22    }

23      // 删除
24      protected   void  GridView1_RowDeleting( object  sender, GridViewDeleteEventArgs e)
25      {
26        string id = GridView1.DataKeys[e.RowIndex][0].ToString();
27        string strSql = "DELETE FROM cat WHERE cat_id=" + id;
28        uc.ExecuteQuery(strSql);
29        GridView1.EditIndex = -1;
30        GridBind();
31    }
2、DataGrid
 1   //  编辑
 2      protected   void  DataGrid1_EditCommand( object  source, DataGridCommandEventArgs e)
 3      {
 4        DataGrid1.EditItemIndex = e.Item.ItemIndex;
 5        GridBind();
 6    }

 7   // 取消
 8      protected   void  DataGrid1_CancelCommand( object  source, DataGridCommandEventArgs e)
 9      {
10        DataGrid1.EditItemIndex = -1;
11        GridBind();
12    }

13   // 更新
14      protected   void  DataGrid1_UpdateCommand( object  source, DataGridCommandEventArgs e)
15      {
16        string id = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
17        string newtxt = ((TextBox)e.Item.Cells[0].Controls[0]).Text;
18        string strSql = "UPDATE cat SET cat_tag='" + newtxt + "' WHERE cat_id=" + id;
19        uc.ExecuteQuery(strSql);
20        DataGrid1.EditItemIndex = -1;
21        GridBind();
22    }

23 // 删除
24      protected   void  DataGrid1_DeleteCommand( object  source, DataGridCommandEventArgs e)
25      {
26        string id = DataGrid1 .DataKeys[e.Item .ItemIndex].ToString();
27        string strSql = "DELETE FROM cat WHERE cat_id=" + id;
28        uc.ExecuteQuery(strSql);
29        DataGrid1.EditItemIndex = -1;
30        GridBind();
31    }
 

http://chatgpt.dhexx.cn/article/SZNLhN1I.shtml

相关文章

GridView详讲

GridView是ASP.NET界面开发中的一个重要的控件&#xff0c;对GridView使用的熟练程度直接影响软件开发的进度及功能的实现。(车延禄) GridView的主要新特性&#xff1a; 1.与DataSource控件结合实现了显示与数据操作的分离&#xff0c;大大减化了代码的编写量; 2.实现"双向…

GridView详述

GridView无代码分页排序GridView选中&#xff0c;编辑&#xff0c;取消&#xff0c;删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠标移到GridView某一行时改变该行的背景色方法一鼠标移到GridView某一行时改变该行的背景色方法二GridVi…

GridView、ListView、Adapter、Map、HashMap

1.ListView自定义适配器adapter 注&#xff1a;Android适配器是数据和视图之间的桥梁&#xff0c;以便于数据在View上显示。适配器就像显示器&#xff0c;把复杂的东西按人可以接受的方式来展现。 &#xff08;1&#xff09;首先将适配器的View视图表现出来&#xff0c;使用L…

GridViewPager

GridViewPager ViewPager结合GridView&#xff0c;轻松实现类似表情面板的控件。可自由定制Item布局&#xff0c;提供充足的自定义参数等。也处理了条目点击事件和条目长按事件。效果如下&#xff1a; Demo下载地址&#xff1a;GridViewPager &#xff0c;或者扫描以下二维码…

libevent 编译

1.下载源码 github:https://github.com/libevent/libevent 官网&#xff1a;http://libevent.org/ 2.CMake 编译 在libevent源码目录建立文件夹&#xff1a;BuildVs2010_x64 2.打开CMake 3.BuildVs2010_x64 下此时生成了vs2010的解决方案。然后编译生成就ok NOTE&#x…

13、《Libevent中文帮助文档》学习笔记13:Linux下集成、运行libevent

Linux下编译libevent的指导可以参考《4、《Libevent中文帮助文档》学习笔记4&#xff1a;Linux下编译libevent》&#xff0c;完成编译、安装&#xff0c;生成so库后&#xff0c;其他程序即可依赖libevent的so库&#xff0c;使用libevent的功能。 由于没有通过prefix指定安装路…

libevent 编译与安装 (WIN10 visual studio2019, ubuntu,centos)

文章目录 一、准备安装包二、编译与安装编译zlib编译openssl编译libevent 三、libevent集成zlib测试程序修改编译&#xff08;可选&#xff09;四、测试程序五、linux(ubuntu)测试安装依赖环境&#xff0c;依次编译zlib,openssl,libeventwindows与linux共享文件夹&#xff08;使…

Libevent 学习一:Libevent 源码编译

文章目录 Libevent 学习一&#xff1a;Libevent 源码编译Libevent Windows 编译Windows 编译环境安装 Visual Studio Community 2015安装 zlib安装 OpenSSL安装 Libeventcmake 安装 LibeventLibevent 测试程序 Libevent Linux编译CentOS 7 安装 LibeventLibevent 测试程序 Libe…

libevent mysql_libevent安装总结

1.先用&#xff1a;ls -al /usr/lib | grep libevent 查看是否已安装&#xff1b;如果已安装且版本低于1.3&#xff0c;则先通过&#xff1a;rpm -e libevent —nodeps进行卸载。 2.下载libevent安装包&#xff1a;libevent-2.0.18-stable.tar.gz。 wget https://github.com/do…

在window用vcpkg安装libevent

参考readme https://github.com/microsoft/vcpkg/blob/master/README_zh_CN.md 使用的PackageManager方式安装&#xff0c; Package Managers 下载 vcpkg 依赖管理包 git clone https://github.com/Microsoft/vcpkg.git cd vcpkg ./bootstrap-vcpkg.bat ./vcpkg integrate…

libevent实践01:准备源码、搭建项目、编译脚本和入门例子

编译源码 libevent是一个Reactor事件库。 我的理解&#xff0c;就是封装了select、epoll、poll的函数库。有使用select&#xff0c;poll&#xff0c;epoll的需求就可以使用的。 官网地址&#xff1a;https://libevent.org/ 下载源码&#xff1a; https://github.com/libev…

libevent(1)windows下安装libevent

Socket通信库libevent成熟、稳定、性能高&#xff0c;在unix和windows下都能使用&#xff0c;在证券交易领域也有不少成功的应用&#xff0c;已经用事实证明是非常棒的socket通信库。对我们目前交易系统的unix重构来说&#xff0c;是比较合适的选择 –– 坑少、在证券交易项目中…

Libevent库的学习

目录 Libevent 概述 Libevent 使用模型 使用Libevent的基本流程&#xff1a; libevent 的核心&#xff0c;event 事件 1. 创建一个事件event 2. 释放event_free 3. 注册event 4. 信号事件 5. 销毁event_base Libevent 结构图 使用libevent库去实现tcp服务器 Libev…

编译libevent

本文记录在win10编译libevent的过程 1.编译前准备zlib,openssl zlib网址 http://www.zlib.net/ 下载源码解压缩 打开vs的dos窗口 32位选择32位窗口这里选择64位,cd 到解压后的文件夹 执行 nmake /f win32/Makefile.msc 执行后可以看到目录下有lib文件和dll文件和测试文件…

libevent简要介绍

libevent库 开源。精简。跨平台&#xff08;Windows、Linux、Maxos、unix&#xff09;。专注于网络通信。 源码包安装&#xff1a; ./configure 检查安装环境 生成makefile make 生成.o和可执行文件 sudo make install …

Libevent库的简介

一、libevent是什么 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库&#xff0c;主要有以下几个亮点&#xff1a;事件驱动&#xff08; event-driven&#xff09;&#xff0c;高性能;轻量级&#xff0c;专注于网络&#xff0c;不如 ACE 那么臃肿庞大&#xff1b…

libevent库学习(1)

一、初识 1、libevent介绍 Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库&#xff0c;主要有以下几个亮点&#xff1a;事件驱动&#xff08; event-driven&#xff09;&#xff0c;高性能;轻量级&#xff0c;专注于网络&#xff0c;不如 ACE 那么臃肿庞大&…

详解Libevent网络库

项目中要用到libevent&#xff0c;所以就自学了libevent&#xff0c;参考资料为张亮的《libevent源码深度剖析》和《linux高性能服务器编程》 Libevent简介 Libevent是开源社区一款高性能的I/O框架库&#xff0c;其具有如下特点&#xff1a; 1.跨平台支持。Libevent支持Linu…

Libevent库的介绍与应用

Libevent库 Libevent概述Libevent使用模型Libevent库使用示例Libevent事件类型和框架结构使用Libevent完成tcp服务端 Libevent概述 Libevent是开源社区的一款高性能的I/O框架库&#xff0c;使用Libevent的著名案例有&#xff1a;高性能的分布式内存对象缓存软件memcached,Goog…

Linux c 开发 - libevent

目录 一、event_base 1. 创建event_base 2. 查看IO模型 3. 销毁event_base 4. 事件循环 event loop 5. event_base的例子 二、event 事件 1. 创建一个事件event 2. 释放event_free 3. 注册event 4.event_assign 5. 信号事件 6. event细节 三、Socket实例 四、Bu…