[代码] DataGrid & GridView 使用区别

简介:

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

1 None.gif < 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 None.gif             < Columns >
3 None.gif                < asp:BoundField  DataField ="cat_tag"  HeaderText ="分类名称"   />                                         
4 None.gif                < asp:BoundField  DataField ="rec_dd"  HeaderText ="创建日期"   />          
5 None.gif                < asp:CommandField  ShowEditButton ="True"   />
6 None.gif                 < asp:CommandField  ShowDeleteButton ="True"   />
7 None.gif             </ Columns >
8 None.gif         </ asp:GridView >

1 None.gif   < 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 None.gif         < Columns >
3 None.gif             < asp:BoundColumn  DataField ="cat_tag"  HeaderText ="分类名称" ></ asp:BoundColumn >
4 None.gif             < asp:BoundColumn  DataField ="rec_dd"  HeaderText ="创建日期"   ></ asp:BoundColumn >
5 None.gif             < asp:EditCommandColumn  CancelText ="取消"  EditText ="编辑"  UpdateText ="更新" ></ asp:EditCommandColumn >
6 None.gif             < asp:ButtonColumn  CommandName ="Delete"  Text ="删除" ></ asp:ButtonColumn >
7 None.gif         </ Columns >
8 None.gif     </ asp:DataGrid >
代码实现:
1 None.gif   //  数据绑定
2 None.gif      private   void  GridBind()
3 ExpandedBlockStart.gif     {
4InBlock.gif        dot.gifdot.gif.
5InBlock.gif        GridView1.DataSource = dt;
6InBlock.gif        GridView1.DataBind();
7InBlock.gif        DataGrid1.DataSource = dt;
8InBlock.gif        DataGrid1.DataBind();
9ExpandedBlockEnd.gif    }

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

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

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

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

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

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

23 None.gif // 删除
24 None.gif      protected   void  DataGrid1_DeleteCommand( object  source, DataGridCommandEventArgs e)
25 ExpandedBlockStart.gif     {
26InBlock.gif        string id = DataGrid1 .DataKeys[e.Item .ItemIndex].ToString();
27InBlock.gif        string strSql = "DELETE FROM cat WHERE cat_id=" + id;
28InBlock.gif        uc.ExecuteQuery(strSql);
29InBlock.gif        DataGrid1.EditItemIndex = -1;
30InBlock.gif        GridBind();
31ExpandedBlockEnd.gif    }
本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/01/29/633947.html ,如需转载请自行联系原作者
相关文章
|
2月前
|
前端开发 C#
浅谈WPF之DataGrid动态生成列
在日常开发中,DataGrid作为二维表格,非常适合数据的展示和统计。通常情况下,一般都有固定的格式和确定的数据列展示,但是在某些特殊情况下,也可能会需要用到动态生成列。本文以一些简单的小例子,简述在WPF开发中,如何动态生成DataGrid的行和列,仅供学习分享使用,如有不足之处,还请指正。
99 2
|
5月前
|
前端开发
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
datagrid combobox 选择后显示valueField 而不是 textValue解决方法
|
C#
WPF 实现 DataGrid/ListView 分页控件
原文:WPF 实现 DataGrid/ListView 分页控件 在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来。如果数据量很大,2000条数据,一次性显示在一个页面中,不仅消耗资源,而且用户体验也很糟糕。
1869 0
|
C#
WPF DataGrid 每行ComboBox 内容不同的设置方法
原文:WPF DataGrid 每行ComboBox 内容不同的设置方法 ...
1047 0
|
.NET 开发框架 Go
GridView控件自定义分页的实现
前人栽树,后人乘凉,话不多说,代码如下:     实现方式一: .aspx: [c-sharp] view plain copy <form id="form1" runat="server">       <table style="width: 605px">         .
1412 0