千家信息网

如何理解GridView

发表于:2024-10-13 作者:千家信息网编辑
千家信息网最后更新 2024年10月13日,本篇内容主要讲解"如何理解GridView",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何理解GridView"吧!(一)DataKeyName属性(1
千家信息网最后更新 2024年10月13日如何理解GridView

本篇内容主要讲解"如何理解GridView",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何理解GridView"吧!

(一)DataKeyName属性
(1)DataKeyNames一般都是用来对当前行做唯一标示的,所以一般为数据库的ID。
(2)GridView.DataKeys[e.RowIndex],e.RowIndex是获取事件对应的行,GridView.DataKeys[e.RowIndex]就是获取对应行的唯一标示也就是DataKeyNames所指定列的值。

(3)DataList和Repeater是没有的该属性的。

在代码中这样使用:(定义的该函数在下面都需要调用)

///  /// 实现数据绑定功能 ///  private void BindToDataGird()   {  SqlConnection con = DB.CreateCon();  SqlDataAdapter sda = new SqlDataAdapter();  sda.SelectCommand = new SqlCommand("select employeeID,FirstName,LastName,Title,BirthDate from employees ", con);  DataSet ds = new DataSet();  sda.Fill(ds, "emp");   //将查询到的数据添加到DataSet中。  this.GridView1.DataKeyNames =new string[]{ "employeeID"}; //DataKeyNames的使用  this.GridView1.DataSource = ds.Tables["emp"];   this.DataBind(); }

如何取值?

DataKey key = GridView1.DataKeys[e.RowIndex];//其中e为GridViewDelete(或者Edit)EventArgs e string empID = key[0].ToString();

(二)分页
由于GridView中封装了分页的功能。这里实现起来很容易。先需要设置属性:AllowPaging/PageSize/PageSetting。然后编写事件代码:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) {  this.GridView1.PageIndex = e.NewPageIndex;  this.BindToDataGird(); }

(三)排序
首先设置AllowSorting属性为true.事件代码:

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) {  if (ViewState["order"] == null)  //使用ViewState设置双向排序。  {   ViewState["order"] = "ASC";  }  else  {   if (ViewState["order"].ToString() == "ASC")   {    ViewState["order"] = "DESC";   }   else   {    ViewState["order"] = "ASC";   }  }  //数据绑定显示  SqlConnection con = DB.CreateCon();  SqlDataAdapter sda = new SqlDataAdapter();  sda.SelectCommand = new SqlCommand("select employeeID,FirstName,LastName,Title,BirthDate from employees ", con);  DataSet ds = new DataSet();  sda.Fill(ds, "emp");  ds.Tables["emp"].DefaultView.Sort = e.SortExpression + " " + ViewState["order"].ToString(); //设置排序  this.GridView1.DataSource = ds.Tables["emp"].DefaultView; //将表的默认视图作为数据源。  this.DataBind(); }

(四)删除
这里需要注意一点:就是获取某一行的主键值。

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {  DataKey key = GridView1.DataKeys[e.RowIndex];  string empID = key[0].ToString();  SqlConnection con = DB.CreateCon();  SqlCommand cmd = new SqlCommand("delete from employees where employeeID= '"+empID+"'" , con);  con.Open();  cmd.ExecuteNonQuery();  this.BindToDataGird(); }

(五)编辑(更新和取消)

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) {  this.GridView1.EditIndex = e.NewEditIndex;  this.BindToDataGird(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {  this.GridView1.EditIndex = -1; //设置索引值为负取消编辑。  this.BindToDataGird(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) {  DataKey key = GridView1.DataKeys[e.RowIndex];  string empID = key[0].ToString();  string lastName=((TextBox)(GridView1.Rows [e.RowIndex ] .Cells [2].Controls [0])).Text ; //将GridView中某列中控件强制转换为TextBox,然后取出它的值。  Response.Write(empID +"&" + lastName ); //用于测试。  this.GridView1.EditIndex = -1;  this.BindToDataGird(); }

附结果图:

到此,相信大家对"如何理解GridView"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 属性 事件 代码 排序 内容 功能 就是 学习 查询 实用 更深 一行 也就是 兴趣 函数 双向 实用性 实际 控件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手机壳效果图制作软件开发 为什么服务器一直在启动 机器人软件开发权威 网络安全管理应急处置预案 电信端口映射虚拟服务器名称 监控硬盘提取数据库 乐清租房软件开发 新乡中隆网络技术有限公司怎么样 电脑mc服务器卡死咋办 网络安全与教育简答题 投拍视频软件开发 遍历服务器文件 ios软件开发公司有哪些 天津拓达网络技术有限公司 上海创新计算机网络技术服务活动 qq接龙一直显示服务器异常 为什么网络安全工程师这么难考 数据库创建主数据自动增长设置 网络安全项目标书 软件开发可以退税吗 软件开发培训学校六 数据库数据定义包括哪些 小说app数据库 中国网络安全登记保护网 数据库设计与应用属于什么课 苹果怎么建立网络安全链接 刺激战场为什么出现服务器繁忙 辅臣数据库浏览器 恢复数据库重启服务器后缓慢 阿里云数据库哪些企业在用
0