您现在的位置是:网站首页> 编程资料编程资料
gridview自动排序示例分享_实用技巧_
2023-05-24
438人已围观
简介 gridview自动排序示例分享_实用技巧_
示例如下:前台
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
前台注意点:
需要对GridView启用AllowSorting、设置OnSorting事件,对需要排序的列设定SortExpression属性。
后台
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 设定初始排序参数值
// 错误的属性设置方法:SortExpression、SortDirection均是GridView只读属性,无法直接赋值。
//this.GridView1.SortExpression = "id";
//this.GridView1.SortDirection = "ASC";
// 正确的属性设置方法
this.GridView1.Attributes.Add("SortExpression", "id");
this.GridView1.Attributes.Add("SortDirection", "ASC");
// 绑定数据源到GridView
this.BindGridView();
}
}
///
/// GridView排序事件
///
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
// 从事件参数获取排序数据列
string sortExpression = e.SortExpression.ToString();
// 假定为排序方向为“顺序”
string sortDirection = "ASC";
// “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
if (sortExpression == this.GridView1.Attributes["SortExpression"])
{
//获得下一次的排序状态
sortDirection = (this.GridView1.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
}
// 重新设定GridView排序数据列及排序方向
this.GridView1.Attributes["SortExpression"] = sortExpression;
this.GridView1.Attributes["SortDirection"] = sortDirection;
this.BindGridView();
}
///
/// 绑定到GridView
///
private void BindGridView()
{
// 获取GridView排序数据列及排序方向
string sortExpression = this.GridView1.Attributes["SortExpression"];
string sortDirection = this.GridView1.Attributes["SortDirection"];
// 调用业务数据获取方法
DataTable dtBind = this.getDB();
// 根据GridView排序数据列及排序方向设置显示的默认数据视图
if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))
{
dtBind.DefaultView.Sort = string.Format("{0} {1}", sortExpression, sortDirection);
}
// GridView绑定并显示数据
this.GridView1.DataSource = dtBind;
this.GridView1.DataBind();
}
///
/// 获取数据源的方法
///
///
private DataTable getDB()
{
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");
dt.Columns.Add("age");
dt.Rows.Add(new object[] { "000001", "hekui", "26" });
dt.Rows.Add(new object[] { "000002", "zhangyu", "26" });
dt.Rows.Add(new object[] { "000003", "zhukundian", "27" });
dt.Rows.Add(new object[] { "000004", "liyang", "25" });
dt.Rows.Add(new object[] { "000005", "caili", "27" });
return dt;
}
}
相关内容
- VS2005打开VS2008项目的2种方法(vs2005怎么打开2008)_实用技巧_
- asp.net解决上传4M文件限制_实用技巧_
- .net 添加Cookie的4种方法_实用技巧_
- asp.net后台如何输出js脚本使用什么方法可以实现_实用技巧_
- asp.net post方法中参数取不出来的解决方法_实用技巧_
- asp.net DataSet转换成josn并输出示例_实用技巧_
- 用存储过程向数据库存值的具体实现_实用技巧_
- 浏览器窗口滚动加载数据采用异步形式从后台加载数据_实用技巧_
- ASP.NET中Web.config文件的层次关系详细介绍_实用技巧_
- .Net读取Excel 返回DataTable实例代码_实用技巧_
