HTML页面

<%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<div class="jumbotron">
<asp:GridView ID="GridView1" runat="server" AllowSorting="true" OnSorting="GridView1_Sorting" Width="98%"
OnRowCommand="GridView1_RowCommand" AutoGenerateColumns="false">
<RowStyle Height="20px" HorizontalAlign="Center" ForeColor="#000066"></RowStyle>
<Columns>
<asp:BoundField DataField="ID" HeaderText="编号" SortExpression="ID"/>
<asp:BoundField DataField="HotelID" HeaderText="酒店编码" SortExpression="HotelID"/>
<asp:BoundField DataField="TypeName" HeaderText="类型名称" SortExpression="TypeName"/>
<asp:BoundField DataField="CreateTime" HeaderText="生成时间" SortExpression="CreateTime"/>
<asp:BoundField DataField="CreateBy" HeaderText="创建人" SortExpression="CreateBy"/>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Del" CommandArgument='<%# Eval("ID") %>'>删除</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div>
<webdiyer:aspnetpager ID="AspNetPager1" runat="server" PageSize="35" Width="95%"
FirstPageText="首页" PrevPageText="前页" LayoutType="Table" NextPageText="后页"
LastPageText="尾页" AlwaysShow="true" UrlPaging="false"
showcustominfosection="Left" onpagechanging="AspNetPager1_PageChanging" class="gl-number-page">
</webdiyer:aspnetpager>
</div>
</asp:Content>

Model  CardType类

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; [Serializable]
[SugarTable("tb_CardType")]
public class CardType
{
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
public int ID { get; set; }
public int HotelID { get; set; }
public string TypeName { get; set; }
public DateTime CreateTime { get; set; }
public string CreateBy { get; set; }
}

页面后台代码

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class _Default : Page
{
protected SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
{
ConnectionString = "server=JYJKQC53O;uid=sa;pwd=1a2s3d4f5g6h;database=Hotel345",
DbType = DbType.SqlServer,//设置数据库类型
IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
}); protected void Page_Load(object sender, EventArgs e)
{
if (db.Queryable<CardType>().Count() < )
{
var list = new List<CardType>();
CardType cartype;
for (int i = ; i < ; i++)
{
cartype = new CardType();
cartype.HotelID = ;
cartype.TypeName = "居民身份证" + i.ToString();
cartype.CreateTime = DateTime.Now;
cartype.CreateBy = "fermnng";
list.Add(cartype);
}
db.Insertable(list.ToArray()).ExecuteCommand();
}
if (!Page.IsPostBack)
{
ViewState["sort"] = "ASC";
ViewState["sortExpression"] = "ID"; DataBin();
}
} protected void DataBin()
{
int total = ;
var getPage = db.Queryable<CardType>().ToPageList(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, ref total);//根据分页查询 if (ViewState["sort"].ToString() == "ASC")
{
getPage = getPage.OrderBy(s => GetPropertyValue(s, ViewState["sortExpression"].ToString())).ToList<CardType>();
}
else
{
getPage = getPage.OrderByDescending(s => GetPropertyValue(s, ViewState["sortExpression"].ToString())).ToList<CardType>();
} this.GridView1.DataSource = getPage;
this.GridView1.DataBind(); AspNetPager1.RecordCount = total;
ViewState["getPage"] = getPage;
} protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
DataBin();
} protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;
var list = ViewState["getPage"] as List<CardType>; if (ViewState["sort"].ToString() == "ASC")
{
list = list.OrderByDescending(s => GetPropertyValue(s, sortExpression)).ToList<CardType>();
ViewState["sort"] = "DESC";
}
else
{
list = list.OrderBy(s => GetPropertyValue(s, sortExpression)).ToList<CardType>();
ViewState["sort"] = "ASC";
} if (list.Count > )
{
ViewState["sortExpression"] = sortExpression;
GridView1.DataSource = list;
GridView1.DataBind();
}
} public object GetPropertyValue(object obj, string property)
{
System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property);
return propertyInfo.GetValue(obj, null);
} protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Del")
{
int RowID = Convert.ToInt32(e.CommandArgument);
var result = db.Deleteable<CardType>().In(RowID).ExecuteCommand(); DataBin();
}
}
}

SqlSugar GridView aspnetpager 分页排序的更多相关文章

  1. 【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序

    1.AspNetPager分页,实现每一列都可排序:           (1).须要将默认排序字段放在HTML页面中.           (2).排序字段放置为td节点的属性. 如图: 实现的效果 ...

  2. 使用AspNetPager与GridView完成分页

    使用AspNetPager与GridView完成分页   由于GridView的分页功能实在是太弱了,所以需要使用强大的AspNetPager来作为分页控件.最简单的办法就是GridView控件下面接 ...

  3. GridView分页排序

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridviewPage.asp ...

  4. AspNetPager分页

    1.页面部分 <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefi ...

  5. GridView点击排序

    快速预览:GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠 ...

  6. GridView自定义分页样式(上一页,下一页,到第几页)

    今天要为网站做一个文章列表,发现GridView的分页样式很难看,于是结合网上的例子,自己做了一个.不是很美观,不过还是很实用的,先看下效果吧,如图(1). 图(1)GridView分页效果 自定义G ...

  7. NHibernate初学三之条件查询(Criteria Queries)与AspNetPager分页实例

    NHibernate除了SQL与HQL两种查询操作外,还有一种就是条件查询Criteria,本文将从网上整理一些Criteria的理论及小实例,最后通过一个结合AspNetPager分页来加深理解,必 ...

  8. [Asp.net]AspNetPager分页组件

    引言 在基于Asp.net的内网系统中,分页功能是最常用的,用的最多的组件就是AspNetPager. AspNetPager 官网:http://www.webdiyer.com/aspnetpag ...

  9. ASP.NET-GridView分页排序显示

    前期我们分别介绍了gridview怎么进行固定表多行数据显示,以及怎么设计花样表头.下面我们介绍怎么利用gridview进行分页显示的同时还可以进行排序显示. 显示效果 前端DEMO <span ...

随机推荐

  1. postman抓包工具与kap项目部署(新猿旺学习总结)

    postman抓包工具 1.post请求在哪里输入数据:选择请求方法-post--->在body里面如图位置输入参数和值,如果是json格式在raw出填写 get请求在哪里输入数据:选择请求方法 ...

  2. Powershell获取硬件信息

    1.获取系统的BIOS的信息: Get-WMIObject -Class Win32_BIOS 2.获取内存信息: Get-WMIObject -Class Win32_PhysicalMemory ...

  3. 重写Java中包装类的方法

    知识点一.Object类Object是所有类的父类.Object中的方法有:toString() 描述对象的信息,需要重写.System.out.println在打印对象的时候会默认调用对象的toSt ...

  4. python 包 笔记

    绝对导入和相对导入 我们的最顶级包glance是写给别人用的,然后在glance包内部也会有彼此之间互相导入的需求,这时候就有绝对导入和相对导入两种方式: 绝对导入:以glance作为起始 相对导入: ...

  5. 使用grafana provisioning通过配置方式添加datasource和dashboard

    grafana provisioning grafana provisioning (http://docs.grafana.org/administration/provisioning/#prov ...

  6. tomcat启动项目时一直在跑,项目没起来

    1. 在整合maven项目时我遇到一个问题,tomcat启动项目总是报超时,后来我把timeout调到180秒,还是启动超时.看了不是timeout时间短的问题. 2.弄了一天也没解决,后来请大神给看 ...

  7. Bootstrap3基础 栅格系统 col-md-push/pull 向左、右的浮动偏移

      内容 参数   OS   Windows 10 x64   browser   Firefox 65.0.2   framework     Bootstrap 3.3.7   editor    ...

  8. 安装Office2016遇到“无法流式传输Office”问题

    安装Office2016遇到“无法流式传输Office”问题,请问如何解决 很抱歉,找不到所需的文件,请检查安装源是否可访问,然后再试. 错误代码:30068-39(2) ============== ...

  9. [亲测有效] - Linux安装PostgreSQL

    本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦.   环境说明系统:centos 6.4 64位软件:postgresq ...

  10. 实验9-1 编写一个存储过程proc_test_func

    在TestDB数据库中,编写一个存储过程proc_test_func,要求如下: 1)输入参数 一个整型的输入参数 @value 2)要求在一个select语句返回: @value的绝对值, 此绝对值 ...