现在的位置: 首页 > 综合 > 正文

asp.net gridview表头排序代码(全部代码),供以后使用方便 VS2008

2013年10月13日 ⁄ 综合 ⁄ 共 6946字 ⁄ 字号 评论关闭

前台文件:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TQ_MRShort_Building.aspx.cs" Inherits="CropsMis.TQ_MRShort_Building" %>
<!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 id="Head1" runat="server">
    <title>托克逊县设施农业管理系统</title>
    <link href="manager/images/Style.css" type="text/css" rel="stylesheet"/>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   <table  style="width:100%;" background="../images/left/e-bg.gif" >
      <tr><td align="center" class="page_title">
          <asp:Label ID="lblTitle" runat="server" Text="Label"></asp:Label></td></tr>
    <tr><td  style="height:2px;" class="page_title_Line"></td></tr>
  
       
       
    <tr>
   
    <td>
     <asp:GridView ID="GridView1" runat="server" Width="98%"  AllowSorting="True"
            AllowPaging="True"  BorderStyle="Solid"
            BorderWidth="1px" BorderColor="#0FAAB8"
             PageSize="18"  CssClass="hei12"
        AutoGenerateColumns ="False"  DataKeyNames="材料ID"
        
       
        onpageindexchanging="GridView1_PageIndexChanging"
            onsorting="GridView1_Sorting"  >
            <PagerSettings Mode="NextPreviousFirstLast" FirstPageText="首页" LastPageText="尾页"
                NextPageText="下一页" PreviousPageText="上一页" />
            <HeaderStyle BackColor="#6fbb1b"  Height="25" CssClass="cubaizi12"  Font-Underline="false" ForeColor="white"    />
            <RowStyle BackColor="#E1FDD7" CssClass="cublue12" HorizontalAlign="Center" Height="25"  BorderColor="#E4FDDF" />  
        <Columns>
        <asp:BoundField DataField="机构ID" HeaderText="机构ID"
                SortExpression="机构ID" Visible="False" />
            <asp:BoundField DataField="材料ID" HeaderText="材料ID"
                SortExpression="材料ID" Visible="False" />
           <asp:BoundField DataField="机构名称" HeaderText="乡名称"
                SortExpression="机构名称" ControlStyle-Width ="20%" />
                <asp:BoundField DataField="机构简称" HeaderText="乡简称"
                SortExpression="机构简称" ControlStyle-Width ="20%" />
             <asp:BoundField DataField="材料名称" HeaderText="材料名称"
                SortExpression="材料名称" ControlStyle-Width ="20%" />
                 <asp:BoundField DataField="材料规格" HeaderText="材料规格"
                SortExpression="材料规格" ControlStyle-Width ="20%" />
           <asp:BoundField DataField="计量单位" HeaderText="计量单位"
                SortExpression="计量单位" ControlStyle-Width ="20%" />
            <asp:BoundField DataField="在建温室数量" HeaderText="在建温室数量"
                SortExpression="在建温室数量" ControlStyle-Width ="20%" />
                <asp:BoundField DataField="在建温室材料需求量" HeaderText="在建温室材料需求量"
                SortExpression="在建温室材料需求量" ControlStyle-Width ="20%" />
                <asp:BoundField DataField="材料到货数量" HeaderText="到货数量"
                SortExpression="材料到货数量" ControlStyle-Width ="20%" />
                <asp:BoundField DataField="到货材料占在建温室需求材料百分比" HeaderText="到货百分比"
                SortExpression="到货材料占在建温室需求材料百分比" ControlStyle-Width ="20%" />
        </Columns>
    </asp:GridView>
    </td>
    </tr>
    </table>
    </div>
    </form>
</body>
</html>

 

 

 

后台文件 :

 

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace CropsMis
{
    public partial class TQ_MRShort_Building : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                bindMyGridview();
               
                string orgid = Request["orgid"].ToString();

                string OrgName = BLL_crops.BLL_Org.GetTownShipName(orgid.ToString());
                this.lblTitle.Text =OrgName+ "在建温室材料到位及短缺统计";
            }
        }

        private void bindMyGridview()
        {
            string Orgid = Request["orgid"].ToString();
            DataTable dt_BuildingMrShort = BLL_crops.BLL_TQ.p_TQ_MRShort_Building(System.DateTime.Now.Year, int.Parse(Orgid));
            this.GridView1.DataSource = dt_BuildingMrShort;
            this.GridView1.DataBind();

        }

        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            if (e.NewPageIndex >= 0)
            {
                GridView1.PageIndex = e.NewPageIndex;
                bindMyGridview();
            }
        }
    
        private void SortGridView(string sortExpression, string direction)
    {
        string Orgid = Request["orgid"].ToString();
        DataTable dt_BuildingMrShort = BLL_crops.BLL_TQ.p_TQ_MRShort_Building(System.DateTime.Now.Year, int.Parse(Orgid));

        DataView dv = new DataView(dt_BuildingMrShort);
        dv.Sort = sortExpression + direction;
       // grv_Messenge.DataSource = dv;                       //将DataView绑定到GridView上
       // grv_Messenge.DataBind();

 

        this.GridView1.DataSource = dv;
        this.GridView1.DataBind();

    }
        public SortDirection GridViewSortDirection
        {

            get
            {

                if (ViewState["sortDirection"] == null)

                    ViewState["sortDirection"] = SortDirection.Ascending;

                return (SortDirection)ViewState["sortDirection"];

            }

            set { ViewState["sortDirection"] = value; }

        }

 

        protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sortExpression = e.SortExpression;
        if (GridViewSortDirection == SortDirection.Ascending)                      //设置排序方向
        {
            GridViewSortDirection = SortDirection.Descending;
            SortGridView(sortExpression, " DESC");
        }
        else
        {
            GridViewSortDirection = SortDirection.Ascending;
            SortGridView(sortExpression, " ASC");
        }

        }

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}

 

上面的代码中关键的代码是:

 

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            string sortExpression = e.SortExpression;
        if (GridViewSortDirection == SortDirection.Ascending)                      //设置排序方向
        {
            GridViewSortDirection = SortDirection.Descending;
            SortGridView(sortExpression, " DESC");
        }
        else
        {
            GridViewSortDirection = SortDirection.Ascending;
            SortGridView(sortExpression, " ASC");
        }

        }

 

private void SortGridView(string sortExpression, string direction)
    {
        string Orgid = Request["orgid"].ToString();
        DataTable dt_BuildingMrShort = BLL_crops.BLL_TQ.p_TQ_MRShort_Building(System.DateTime.Now.Year, int.Parse(Orgid));

        DataView dv = new DataView(dt_BuildingMrShort);
        dv.Sort = sortExpression + direction;
    
        this.GridView1.DataSource = dv;
        this.GridView1.DataBind();

    }
        public SortDirection GridViewSortDirection
        {

            get
            {

                if (ViewState["sortDirection"] == null)

                    ViewState["sortDirection"] = SortDirection.Ascending;

                return (SortDirection)ViewState["sortDirection"];

            }

            set { ViewState["sortDirection"] = value; }

        }

 

 

 

 

 

抱歉!评论已关闭.