asp.net GridView排序简单实现

前台:
代码


代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewSort.aspx.cs" Inherits="GridViewSort" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridView排序简单实现</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gdvSort" runat="server" OnSorting="gdvSort_Sorting">
</asp:GridView>
</div>
</form>
</body>
</html>

后台:

代码


代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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 GridViewSort : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["SortOrder"] = "PID";
ViewState["OrderDire"] = "Desc";
Bind();
}
}
private void Bind()
{
gdvSort.AllowSorting = true;
DataView dv = getDt().DefaultView;
dv.Sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];
gdvSort.DataSource = dv;
gdvSort.DataBind();
}
/// <summary>
/// 连数据库麻烦,直接构造一个DataTable
/// </summary>
/// <returns></returns>
private DataTable getDt()
{
DataTable dt = new DataTable();
dt.Columns.Add("PID", typeof(System.Int32));
dt.Columns.Add("UserName", typeof(System.String));
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr["PID"] = i;
dr["UserName"] = "姓名" + i;
dt.Rows.Add(dr);
}
return dt;
}
protected void gdvSort_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"] = e.SortExpression;
Bind();
}
}

(0)

相关推荐

  • Asp.net GridView使用大全(分页实现)

    GridView自带的分页功能实现: 要实现GrdView分页的功能操作如下:1.更改GrdView控件的AllowPaging属性为true.2.更改GrdView控件的PageSize属性为 任意数值(默认为10)3.更改GrdView控件的PageSetting->Mode为Numeric等(默认为Numeric)该属性为分页样式.GridView属性设置好了,从页面上也能看到分页样式. 现在开始实现分页的功能: 1.在<<asp:GridView ID=......>后添加

  • asp.net Datalist控件实现分页功能

    在.aspx页面里的代码 复制代码 代码如下: <asp:DataList ID="DataList1" runat="server" Width="976px" Height="745px" BorderWidth="2px" CellPadding="2" CellSpacing="2" RepeatColumns="7" RepeatD

  • ASP.Net2.0 GridView 多列排序,显示排序图标,分页

    最近在使用ASP.net 2.0的GridView 控件时,发现排序与分页功能Microsoft实现的都很简单,比如排序,在点击列名的时候来触发整页的PostBack,然后排序,但是在列头上没有一个显示升序降序的图标,这会让最终用户使用时很迷惑,因为不知道是升序了还是降序了,所以今天首先解决的第一问题就是升序降序在列上显示图标,第二要解决的问题是默认GridView按列排序只能排一列的,也就是不能进行多列排序,而在实际应用中仅仅按照一列来排序是不能满足业务需求的,第三是GridView 分页问题

  • ASPNETPAGER分页控件的使用方法[图文]

    1. 加入dll文件这是必须的. 2.拖入控件到应用位置,添加引用: 引用: <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> 控件: 复制代码 代码如下: <div style="text-align:center;"> <webdiyer:AspNetPager ID=&q

  • Asp.Net数据控件引用AspNetPager.dll分页实现代码

    1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 第一步:首先是下载一个AspNetPager.dll 下载地址 AspNetPager.rar第二步:在项目的bin文件夹下引用AspNetPager.dll 如图: 第三步:在工具箱添加AspNetPager控件,如图: 接下来再如图: 这样

  • ASP.NET MVC分页和排序功能实现

    分页和排序,应该是软件开发中,需要必知必会的技能了,对于分页,网上很多教程,当然,别人终究是别人的,只有自己理解,会了,并且吸收之后,再用自己的语言,传授出来,这才是硬道理.好了,废话说多了.现在我们进入正题: 这里,我打算使用EF Code-First方式分页控件就是用PagedList.MVC,来做分页,对于排序,实现的思路是,加载数据出来之后,默认是升序排序,然后我们点击一下相应的列标题,就按照该字段降序排序,查数据.思路明确了,就开始干吧! 1.首先新建一个空白的MVC项目,在Model

  • asp.net DataSet进行排序

    DataSet ds=new DataSet(); DataView dv=new DataView(); dv.Table=ds.Tables[0]; dv.Sort="CreateTime desc"; GridView.DataSource=dv; 就可以实现对dataset的排序了.

  • Asp.Net中的三种分页方式总结

    通常分页有3种方法,分别是asp.net自带的数据显示空间如GridView等自带的分页,第三方分页控件如aspnetpager,存储过程分页等.这里分别做总结. 第一种:使用GridView自带分页,这种是最简单的分页方法. 前台的方法: 复制代码 代码如下: <asp:GridView ID="GridView1" AllowPaging="true" runat="server" onpageindexchanging="G

  • ASP.NET 高性能分页代码

    最近给分页快搞死,记得之前曾经发过修改DW ASP分页的方法,后来又写过手工打造的ASP分页,现在进入.NET当然要配合存储过程打造纯手工高性能分页了. 为什么会叫做高性能,为什么要手工打造,不使用.NET现有的分页控件呢?这个还要追溯到我修改DW ASP分页的时候,那个我还不怎么懂程序这个东西,只会修修补补,就更不要去谈什么性能问题.当时改的很心烦,接着叫我的私人技术总监张总帮我看看,当时张总就以一种不屑一顾的眼神往着我,说了句话:值得吗? 接着到我手工打造ASP分页,又搞不下去了,张总丢给我

  • asp.net GridView排序简单实现

    前台: 代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewSort.aspx.cs" Inherits="GridViewSort" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http

  • 如何用jQuery实现ASP.NET GridView折叠伸展效果

    今天做静态页面时有一个需求,就是页面上有一组两个选项的单选按钮和一个有6行的列表(该列表用Table标签实现,不是DIV),当选择单选按钮的选项一时,列表的前三条信息显示后三条信息隐藏,当选择单选按钮的选项二时,列表的前三条信息隐藏后三条信息显示.那么就牵扯出我们今天的话题拉,如何实现呢?实现后该实现还能应用到哪些场景? 1.第一反应的解决方案 碰到这个需求后,我第一反应就是很简单啊,分别用两个DIV将前三个Table中的TR标签与后三个TR标签包起来,然后通过JS控制DIV的显示. 第一步:使

  • asp.net GridView中使用RadioButton单选按钮的方法

    本文实例讲述了asp.net GridView中使用RadioButton单选按钮的方法.分享给大家供大家参考,具体如下: 在GridView里做单选按钮,我用了三种方法 第一种方法:在GridView的模版列里加服务器端控件RadioButton,使用js控制单选 使用模版列里加RadioButton <script type="text/javascript"> function setRadio(nowRadio) { var myForm,objRadio; myF

  • asp.net gridview实现全选,反选与删除记录的操作代码

    gridview全选操作 复制代码 代码如下: 'columns'=>array( array( 'class'=>'CCheckBoxColumn', //'header'=>'全选', //'value'=>'$data->id', //'checked'=>'true', 'htmlOptions'=>array( 'width'=>'30', 'style'=>'text-align:center', ), ), 复制代码 代码如下: <

  • JS学习之表格的排序简单实例

    JS学习之表格的排序简单实例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <input id="btn1" type="button" value="排序"> <table id="

  • MySQL按照汉字的拼音排序简单实例

    如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了). 直接在查询语句后面 添加 order by name asc; 查询结果按照姓氏的升序排序: 如果存储姓名的字段采用的是 utf8字符集,需要在排序的时候对字段进行转码:对于的代码是  order by convert(name using gbk) asc; 同样,查询的

  • 模拟javascript中的sort排序(简单实例)

    一.javascript中sort对数据进行排序的原理 sort() 方法对数组的元素做原地的排序,并返回这个数组. sort 可能不是稳定的.默认按照字符串的Unicode码位点排序; 语法:arr.sort([compareFunction]) 参数 compareFunction 可选.用来指定按某种顺序进行排列的函数.如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序. 如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前: 如

  • ASP.NET GridView的Bootstrap分页样式

    本文实例为大家分享了GridView的Bootstrap分页样式,供大家参考,具体内容如下 Revenue.cs收入类,包括实体模型和业务逻辑 public class Revenue { public Revenue(string country, string revenue, string salesmanager, string year) { this.country = country; this.revenue = revenue; this.salesmanager = sale

  • Python实现冒泡,插入,选择排序简单实例

    本文所述的Python实现冒泡,插入,选择排序简单实例比较适合Python初学者从基础开始学习数据结构和算法,示例简单易懂,具体代码如下: # -*- coding: cp936 -*- #python插入排序 def insertSort(a): for i in range(len(a)-1): #print a,i for j in range(i+1,len(a)): if a[i]>a[j]: temp = a[i] a[i] = a[j] a[j] = temp return a #

  • jquery拖拽排序简单实现方法(效果增强版)

    本文实例讲述了jquery拖拽排序简单实现方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 原来没有新建动作,分析代码后发现很容易增强~~ 代码如下: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>测试的拖拽功能</title

随机推荐