GridView的初级使用
使用GridView自带的分页功能,需要激发PageIndexChanging
protected void gvNewsList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
//获取当前页的索引。
gvNewsList.PageIndex = e.NewPageIndex;
bind();
}
GridView自带的排序功能
在页面代码中需要设置AllowSorting="True"
同时还需要在您要排序的列表头字段后写出排序字段如:
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID"/>
首先需要确定第一次加载的时候根据哪个字段进行升序还是降序
于是在首次加载时候需要存两个参数
代码如下:
if (!IsPostBack)
{
ViewState["SortOrder"] = "ID";
ViewState["OrderDire"] = "ASC";
this.bind();
}
在数据绑定方法bind()中,我们使用DateView来进行排序和存储数据。
protected void bind()
{
//调用CommonClass类的GetDataSet方法,查询需要管理的新闻信息,并绑定GridView控件上
//this.gvNewsList.DataSource = CC.GetDataSet("select * from tb_News order by id", "tbNews");
//this.gvNewsList.DataBind();
//实例化SqlDataAdapter对象
SqlDataAdapter da = new SqlDataAdapter("select * from tb_News", CC.GetConnection());
//实例化数据集
DataSet ds = new DataSet();
da.Fill(ds,"tb_News");
DataView dv = ds.Tables["tb_News"].DefaultView;
string sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
dv.Sort = sort;
//绑定控件
this.gvNewsList.DataSource = dv;
this.gvNewsList.DataBind();
}
需要激发Sorting事件
protected void gvNewsList_Sorting(object sender, GridViewSortEventArgs e)
{
//获取指定的表达式,即字段。根据哪个字段来排列的。
string sPage = e.SortExpression;
if (ViewState["SortOrder"].ToString() == sPage)
{
if (ViewState["OrderDire"].ToString() == "Desc")
{
ViewState["OrderDire"] = "ASC";
}
else
{
ViewState["OrderDire"] = "Desc";
}
}
else
{
ViewState["SortOrder"] = sPage;
}
bind();
}
GridView自带的编辑事件。
1 编辑列的时候添加CommandField字段。编辑则设置其ShowEditButton属性为true,ShowEditButton为true。
2 使用GridView自带的编辑事件需要激活RowEditing事件
代码如下:
protected void gvNewsList_RowEditing(object sender, GridViewEditEventArgs e)
{
//设置GrideView控件的编辑项的索引为选择的当前索引
gvNewsList.EditIndex = e.NewEditIndex;
//数据绑定
bind();
}
3 单击取消更新按钮的话,需要激活RowCancelingEdit
代码如下:
protected void gvNewsList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
//将当前编辑项的索引设为-1,则为取消编辑。
gvNewsList.EditIndex = -;
bind();
}
4 修改完毕数据,单击更新按钮需要激活RowUpdating事件
需要在页面中设置DataKeyNames: DataKeyNames="ID"
RowUpdating事件中的代码如下:
protected void gvNewsList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//获取id值
string id = gvNewsList.DataKeys[e.RowIndex].Value.ToString();
//获取文本框中输入的内容
string title = ((TextBox)(gvNewsList.Rows[e.RowIndex].Cells[].Controls[])).Text.Trim().ToString();
//获取类别
string style = ((TextBox)(gvNewsList.Rows[e.RowIndex].Cells[].Controls[])).Text.Trim().ToString();
//获取日期
string adddate = ((TextBox)(gvNewsList.Rows[e.RowIndex].Cells[].Controls[])).Text.Trim().ToString();
string sql = "update tb_News set title ='" + title + "', [Style]='" + style + "',issueDate=" + adddate + " where id = " + id;
CC.ExecSQL(sql);
//更新完成后退出编辑状态,重新绑定一次数据
gvNewsList.EditIndex = -;
bind();
}
高亮显示光标所在行
protected void gvNewsList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.syle.backgroundColor='#6699ff'");
e.Row.Attributes.Add("onmouseout", "this.syle.backgroundColor=currentcolor");
}
}
设置GridView控件的数据显示格式
实现思路:主要在RowDataBound事件中实现。当数据源绑定到GridView控件中的每行时,将触发该控件的RowDataBound。修改或设置绑定到该行的数据的显示格式,可以使用RowDataBound事件的GridViewEventArgs e参数的Row属性的Cells属性定位到指定单元格。
protected void gvNewsList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[].Text = Convert.ToDateTime(e.Row.Cells[].Text).ToString("yyyy-mm-dd");
}
}
货币的转换格式如下所示:string result = String.Format("{0,C2}",Convert.ToDouble(result));
单击GridView控件某行的按钮,刷新页面后不会回到页面顶端
网页刷新后维持原位置
<%@ Page Language="C#" MaintainScrollPositionOnPostback="true"%>
GridView自带删除事件,添加一个CommandField列并指名为“删除”按钮,单击该按钮时触发RowDeleting事件
protected void gvNewsList_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string id = gvNewsList.DataKeys[e.RowIndex].Value.ToString();
string sql = "delete from tb_News where id = "+id;
CC.ExecSQL(sql);
bind();
}
在单击“删除”按钮的时候弹出确认框。
protected void gvNewsList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
((LinkButton)(e.Row.Cells[].Controls[])).Attributes.Add("onclick","return confirm('确定要删除吗?')");
}
}
GridView的初级使用的更多相关文章
- GridView控件详解
一.介绍 GridView控件一表格形式显示数据源中的数据.提供对列进行排序.分页以及编辑.删除单个记录的功能. 二.绑定数据源 第一种使用DataSourceID属性.可以直接把GridView控件 ...
- Android GridView 通过seletor 设置状态和默认状态
Android中可以通过selector控制GridView Item 的状态,而省去使用代码控制 GridView View Selector Xml文件 <?xml version=&quo ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- 在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能
在我上篇随笔<在DevExpress程序中使用Winform分页控件直接录入数据并保存>中介绍了在GridView以及在其封装的分页控件上做数据的直接录入的处理,介绍情况下数据的保存和校验 ...
- Android listview和gridview以及view的区别
GridView 可以指定显示的条目的列数. listview一般显示的条目的列数都是一列 如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView andr ...
- 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)
马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...
- 在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5中创建GridView>中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web ...
- 【初学者指南】在ASP.NET MVC 5中创建GridView
介绍 在这篇文章中,我们将会学习如何在 ASP.NET MVC 中创建一个 gridview,就像 ASP.NET Web 表单中的 gridview 一样.服务器端和客户端有许多可用的第三方库,这些 ...
- ScrollView嵌套ListView,GridView数据加载不全问题的解决
我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...
随机推荐
- 应用tomcat(Linux中安装)
CentOS 7 中安装 tomcat. 下载 Tomcat Wget 下载 Tomcat Tomcat 官网中找到指定版本 Tomcat rpm 的 url 使用 wget url 下载 rpm , ...
- WebKit JavaScript Binding添加新DOM对象的三种方式
一.基础知识 首先WebKit IDL并非完全遵循Web IDL,只是借鉴使用.WebKit官网提供了一份说明(WebKitIDL),比如Web IDL称"operation”(操作), 而 ...
- High performance web site
http://www.cnblogs.com/Blog-Yang/archive/2013/08/16/3261284.html http://www.kuqin.com/webpagedesign/ ...
- Unity3d Material(材质) 无缝拼接
Unity3d Material(材质) Edit by @灰太龙 在做一个项目的过程中,遇到动态切换壁纸的功能,问题点在无缝拼接! 那我们先查查Unity3d 中的材质球,里面有个参数 Tiling ...
- 栈和队列的面试题Java实现
栈和队列: 面试的时候,栈和队列经常会成对出现来考察.本文包含栈和队列的如下考试内容: (1)栈的创建 (2)队列的创建 (3)两个栈实现一个队列 (4)两个队列实现一个栈 (5)设计含最小函数min ...
- 【HDOJ】3309 Roll The Cube
BFS,考虑一球进洞仅一球滚动以及两球重叠的情况即可. /* 3309 */ #include <iostream> #include <queue> #include < ...
- 【HDOJ】2144 Evolution
并查集+DP. /* 2144 */ #include <cstdio> #include <cstring> #include <cstdlib> #define ...
- Unity NGUI 创建简单的按钮
Unity版本:4.5.1 NGUI版本:3.6.5 注意NGUI版本,网上的大部分教程都是2.x版本的,在步骤上面略有不同,此文适合初学者. 示例: 通过NGUI创建一个背景和按钮. 1.首先创建一 ...
- 【中途相遇法】【STL】BAPC2014 K Key to Knowledge (Codeforces GYM 100526)
题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...
- C#代码实现隐藏任务栏、开始菜单和禁用任务管理
一:截图,主要是调用系统接口和更改注册表实现功能 二:代码 using System; using System.Collections.Generic; using System.Linq; usi ...