SqlSugar GridView aspnetpager 分页排序

HTML页面

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


    
删除

 

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().Count() < 50)
        {
            var list = new List();
            CardType cartype;
            for (int i = 0; i < 50; i++)
            {
                cartype = new CardType();
                cartype.HotelID = 3;
                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 = 0;
        var getPage = db.Queryable().ToPageList(AspNetPager1.CurrentPageIndex, AspNetPager1.PageSize, ref total);//根据分页查询

        if (ViewState["sort"].ToString() == "ASC")
        {
            getPage = getPage.OrderBy(s => GetPropertyValue(s, ViewState["sortExpression"].ToString())).ToList();
        }
        else
        {
            getPage = getPage.OrderByDescending(s => GetPropertyValue(s, ViewState["sortExpression"].ToString())).ToList();
        }

        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;        

        if (ViewState["sort"].ToString() == "ASC")
        {
            list = list.OrderByDescending(s => GetPropertyValue(s, sortExpression)).ToList();
            ViewState["sort"] = "DESC";
        }
        else
        {
            list = list.OrderBy(s => GetPropertyValue(s, sortExpression)).ToList();
            ViewState["sort"] = "ASC";
        }

        if (list.Count > 0)
        {
            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().In(RowID).ExecuteCommand();

            DataBin();
        }
    }
}

 

转载于:https://www.cnblogs.com/whtydn/p/10315862.html

你可能感兴趣的:(SqlSugar GridView aspnetpager 分页排序)