HTML页面

  1. <%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>
  2.  
  3. <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
  4. <div class="jumbotron">
  5. <asp:GridView ID="GridView1" runat="server" AllowSorting="true" OnSorting="GridView1_Sorting" Width="98%"
  6. OnRowCommand="GridView1_RowCommand" AutoGenerateColumns="false">
  7. <RowStyle Height="20px" HorizontalAlign="Center" ForeColor="#000066"></RowStyle>
  8. <Columns>
  9. <asp:BoundField DataField="ID" HeaderText="编号" SortExpression="ID"/>
  10. <asp:BoundField DataField="HotelID" HeaderText="酒店编码" SortExpression="HotelID"/>
  11. <asp:BoundField DataField="TypeName" HeaderText="类型名称" SortExpression="TypeName"/>
  12. <asp:BoundField DataField="CreateTime" HeaderText="生成时间" SortExpression="CreateTime"/>
  13. <asp:BoundField DataField="CreateBy" HeaderText="创建人" SortExpression="CreateBy"/>
  14. <asp:TemplateField HeaderText="操作">
  15. <ItemTemplate>
  16. <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Del" CommandArgument='<%# Eval("ID") %>'>删除</asp:LinkButton>
  17. </ItemTemplate>
  18. </asp:TemplateField>
  19. </Columns>
  20. </asp:GridView>
  21. </div>
  22. <div>
  23. <webdiyer:aspnetpager ID="AspNetPager1" runat="server" PageSize="35" Width="95%"
  24. FirstPageText="首页" PrevPageText="前页" LayoutType="Table" NextPageText="后页"
  25. LastPageText="尾页" AlwaysShow="true" UrlPaging="false"
  26. showcustominfosection="Left" onpagechanging="AspNetPager1_PageChanging" class="gl-number-page">
  27. </webdiyer:aspnetpager>
  28. </div>
  29. </asp:Content>

Model  CardType类

  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Web;
  6.  
  7. [Serializable]
  8. [SugarTable("tb_CardType")]
  9. public class CardType
  10. {
  11. [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
  12. public int ID { get; set; }
  13. public int HotelID { get; set; }
  14. public string TypeName { get; set; }
  15. public DateTime CreateTime { get; set; }
  16. public string CreateBy { get; set; }
  17. }

页面后台代码

  1. using SqlSugar;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8.  
  9. public partial class _Default : Page
  10. {
  11. protected SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
  12. {
  13. ConnectionString = "server=JYJKQC53O;uid=sa;pwd=1a2s3d4f5g6h;database=Hotel345",
  14. DbType = DbType.SqlServer,//设置数据库类型
  15. IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
  16. InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
  17. });
  18.  
  19. protected void Page_Load(object sender, EventArgs e)
  20. {
  21. if (db.Queryable<CardType>().Count() < )
  22. {
  23. var list = new List<CardType>();
  24. CardType cartype;
  25. for (int i = ; i < ; i++)
  26. {
  27. cartype = new CardType();
  28. cartype.HotelID = ;
  29. cartype.TypeName = "居民身份证" + i.ToString();
  30. cartype.CreateTime = DateTime.Now;
  31. cartype.CreateBy = "fermnng";
  32. list.Add(cartype);
  33. }
  34. db.Insertable(list.ToArray()).ExecuteCommand();
  35. }
  36. if (!Page.IsPostBack)
  37. {
  38. ViewState["sort"] = "ASC";
  39. ViewState["sortExpression"] = "ID";
  40.  
  41. DataBin();
  42. }
  43. }
  44.  
  45. protected void DataBin()
  46. {
  47. int total = ;
  48. var getPage = db.Queryable<CardType>().ToPageList(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, ref total);//根据分页查询
  49.  
  50. if (ViewState["sort"].ToString() == "ASC")
  51. {
  52. getPage = getPage.OrderBy(s => GetPropertyValue(s, ViewState["sortExpression"].ToString())).ToList<CardType>();
  53. }
  54. else
  55. {
  56. getPage = getPage.OrderByDescending(s => GetPropertyValue(s, ViewState["sortExpression"].ToString())).ToList<CardType>();
  57. }
  58.  
  59. this.GridView1.DataSource = getPage;
  60. this.GridView1.DataBind();
  61.  
  62. AspNetPager1.RecordCount = total;
  63. ViewState["getPage"] = getPage;
  64. }
  65.  
  66. protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
  67. {
  68. AspNetPager1.CurrentPageIndex = e.NewPageIndex;
  69. DataBin();
  70. }
  71.  
  72. protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
  73. {
  74. string sortExpression = e.SortExpression;
  75. var list = ViewState["getPage"] as List<CardType>;
  76.  
  77. if (ViewState["sort"].ToString() == "ASC")
  78. {
  79. list = list.OrderByDescending(s => GetPropertyValue(s, sortExpression)).ToList<CardType>();
  80. ViewState["sort"] = "DESC";
  81. }
  82. else
  83. {
  84. list = list.OrderBy(s => GetPropertyValue(s, sortExpression)).ToList<CardType>();
  85. ViewState["sort"] = "ASC";
  86. }
  87.  
  88. if (list.Count > )
  89. {
  90. ViewState["sortExpression"] = sortExpression;
  91. GridView1.DataSource = list;
  92. GridView1.DataBind();
  93. }
  94. }
  95.  
  96. public object GetPropertyValue(object obj, string property)
  97. {
  98. System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(property);
  99. return propertyInfo.GetValue(obj, null);
  100. }
  101.  
  102. protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
  103. {
  104. if (e.CommandName == "Del")
  105. {
  106. int RowID = Convert.ToInt32(e.CommandArgument);
  107. var result = db.Deleteable<CardType>().In(RowID).ExecuteCommand();
  108.  
  109. DataBin();
  110. }
  111. }
  112. }

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. GoldenGate HANDLECOLLISIONS参数使用说明

    HANDLECOLLISIONS在官方文档上的说明: 使用HANDLECOLLISIONS和NOHANDLECOLLISIONS参数来控制在目标上应用SQL时,Replicat是否尝试解决重复记录和缺 ...

  2. pkuwc2019游记

    填坑 为了打击胡吹瞎吹恶势力 具体考试情况略了 题解 Day1 D1T1 100分 状压dp 考虑用点的存在状态转移边的情况的思想 D1T2 100分 虚树+ntt 假设在最下方的斯坦纳树上统计答案, ...

  3. GOQTTemplate简单介绍

    集合OpenCV的视频功能和QCamera的摄像头接口,开发出易于理解的.结构简单的摄像头控制和采集框架.   MainWindow);    bCameraOpen = false;     //显 ...

  4. Xcode9,cocoaPod执行pod install时报错,一行命令即可解决。

  5. Java基础学习-Eclipse综述和运算符的使用

    1.Eclipse的概述(磨刀不误砍柴工)       -Eclipse是一个IDE(集成开发环境)         -IDE(Intergrated Development Environment) ...

  6. 王之泰201771010131《面向对象程序设计(java)》第十二周学习总结

    第一部分:理论知识学习部分 第10章 图形程序设计 10.1 AWT与Swing简介 1.用户界面(User Interface) 的概念:用户与计算机系统(各种程序)交互的接口2.图形用户界面(Gr ...

  7. 洛谷 P5019 铺设道路

    题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度 ...

  8. Deep Learning--week1~week3

    week1 一张图片,设像素为64*64, 颜色通道为红蓝绿三通道,则对应3个64*64实数矩阵 为了用向量表示这些矩阵,将这些矩阵的像素值展开为一个向量x作为算法的输入 从红色到绿色再到蓝色,依次按 ...

  9. LintCode 1.A+B的问题

    LintCode 1.A+B的问题 描述 给出两个整数 a 和 b , 求他们的和. 答案 public class Solution { /** * @param a: An integer * @ ...

  10. Linux TOP命令按内存占用排序和按CPU占用排序

    先输入top 然后 按P – 以 CPU 占用率大小的顺序排列进程列表 按M – 以内存占用率大小的顺序排列进程列表 top命令是Linux下常用的性能分析工具,比如cpu.内存的使用,能够实时显示系 ...