读书人

ASP.NET GridView分页及排序 源代码解

发布时间: 2012-01-19 20:57:58 作者: rapoo

ASP.NET GridView分页及排序 源代码
//.cs 文件部分代码
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 BasicInfo_Product : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//绑定数据

strQuery = "SELECT * FROM JXNF_PRODUCT ";

DataView dv = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataView(strQuery);

dv.Sort = "PRODUCTID DESC";
GridViewMain.PageIndex = Convert.ToInt32(this.Session["page"]);
GridViewMain.DataSource = dv;
GridViewMain.DataBind();
this.ViewState["sort"] = "PRODUCTID";
this.ViewState["sortDerect"] = "DESC";
this.ViewState["strSql"] = strQuery;
}
}
protected void LinkButtongo_Click(object sender, EventArgs e)
{
//跳转

String strQuery = this.ViewState["strSql"].ToString();

TextBox textBoxpage = (TextBox)GridViewMain.BottomPagerRow.Cells[0].FindControl("TextBoxpage");

if (textBoxpage.Text == "")

{
GridViewMain.PageIndex = 0;
}
else
{
try
{
GridViewMain.PageIndex = Convert.ToInt32(textBoxpage.Text) - 1;
if (GridViewMain.PageIndex < 0)
{
GridViewMain.PageIndex = 0;
}
}
catch
{
GridViewMain.PageIndex = 0; } }

this.Session["page"] = GridViewMain.PageIndex;
DataSet dataSet = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataSet(strQuery);
DataView dv = new DataView(dataSet.Tables[0]);
dv.Sort=this.ViewState["sort"].ToString()+" "+this.ViewState["sortDerect"].ToString();
GridViewMain.DataSource = dv;
GridViewMain.DataBind();
if (GridViewMain.PageIndex == 0)
{
LinkButton lb = (LinkButton)GridViewMain.BottomPagerRow.Cells[0].FindControl("LinkButtonupper");
lb.Visible = false;
}
}
protected void LinkButtonfirst_Click(object sender, EventArgs e)
{
//首页
String strSql = this.ViewState["strSql"].ToString();
GridViewMain.PageIndex = 0;
this.Session["page"] = GridViewMain.PageIndex;
DataSet dataSet = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataSet(strSql);
DataView dv = new DataView(dataSet.Tables[0]);
dv.Sort=this.ViewState["sort"].ToString()+" "+this.ViewState["sortDerect"].ToString();
GridViewMain.DataSource = dv;
GridViewMain.DataBind();
LinkButton lb = (LinkButton)GridViewMain.BottomPagerRow.Cells[0].FindControl("LinkButtonupper");
lb.Visible = false;
}
protected void LinkButtonupper_Click(object sender, EventArgs e)
{
//上一页
if (GridViewMain.PageIndex > 0)
{
GridViewMain.PageIndex--;
this.Session["page"] = GridViewMain.PageIndex;
String strSql = this.ViewState["strSql"].ToString();
DataSet dataSet = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataSet(strSql);


DataView dv = new DataView(dataSet.Tables[0]);
dv.Sort=this.ViewState["sort"].ToString()+" "+this.ViewState["sortDerect"].ToString();
GridViewMain.DataSource = dv;
GridViewMain.DataBind();
if (GridViewMain.PageIndex == 0)

{

LinkButton lb = (LinkButton)GridViewMain.BottomPagerRow.Cells[0].FindControl("LinkButtonupper");

lb.Visible = false;

}

}

}

protected void LinkButtonnext_Click(object sender, EventArgs e)

{

//下一页

if (GridViewMain.PageIndex < GridViewMain.PageCount - 1)

{

GridViewMain.PageIndex++;

this.Session["page"] = GridViewMain.PageIndex;

String strSql = this.ViewState["strSql"].ToString();

DataSet dataSet = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataSet(strSql);

DataView dv = new DataView(dataSet.Tables[0]);

dv.Sort = this.ViewState["sort"].ToString() + " " + this.ViewState["sortDerect"].ToString();

GridViewMain.DataSource = dv;

GridViewMain.DataBind();

}

}

protected void LinkButtonend_Click(object sender, EventArgs e)

{

//最后一页

GridViewMain.PageIndex = GridViewMain.PageCount - 1;

this.Session["page"] = GridViewMain.PageIndex;

String strSql = this.ViewState["strSql"].ToString();

DataSet dataSet = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataSet(strSql);

DataView dv = new DataView(dataSet.Tables[0]);

dv.Sort = this.ViewState["sort"].ToString() + " " + this.ViewState["sortDerect"].ToString();

GridViewMain.DataSource = dv;

GridViewMain.DataBind();

LinkButton lb = (LinkButton)GridViewMain.BottomPagerRow.Cells[0].FindControl("LinkButtonnext");

lb.Visible = false;

}

protected void GridViewMain_Sorting(object sender, GridViewSortEventArgs e)

{

//排序

string strQuery = this.ViewState["strSql"].ToString();

string sort = e.SortExpression;

string sortDerect = this.ViewState["sortDerect"].ToString();

if (sortDerect == "ASC") sortDerect = "DESC";

else sortDerect = "ASC";

this.ViewState["sort"] = sort;

this.ViewState["sortDerect"] = sortDerect;

DataView dv = PlatForm.NamedObjects.NonTransactionDatabaseAgent.ExecuteDataView(strQuery);

dv.Sort = sort + " " + sortDerect;

GridViewMain.DataSource = dv;

GridViewMain.DataBind();

}



}



<%-- .aspx文件部分代码--%>

<asp:GridView ID="GridViewMain" runat="server" AutoGenerateColumns="False" AllowPaging="True" PageSize="20" Width="100%" Height="1px" AllowSorting="True" OnSorting="GridViewMain_Sorting"> <Columns>



<asp:TemplateField HeaderText="订单编号" SortExpression="ORDERID"><%-- 绑定LinkButton控件--%>

<ItemTemplate>

<asp:LinkButton ID="link" runat="server" Text='<%# Bind("ORDERID") %>'></asp:LinkButton>

</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TYPE" HeaderText="类型" SortExpression="TYPE" />
</Columns>
<PagerTemplate>
每页
<asp:Label ID="Label2" runat="server" Text="<%# GridViewMain.PageSize %>"></asp:Label>行   第
<asp:Label ID="Label3" runat="server" Text="<%# GridViewMain.PageIndex+1 %>"></asp:Label>页 共<asp:Label ID="Label4" runat="server" Text="<%# GridViewMain.PageCount %>"></asp:Label>页      第
<asp:TextBox ID="TextBoxpage" runat="server" BorderStyle="None" Width="15px" Wrap="False"></asp:TextBox>页
<asp:LinkButton ID="LinkButtongo" runat="server" OnClick="LinkButtongo_Click">跳转</asp:LinkButton> 
<asp:LinkButton ID="LinkButtonfirst" runat="server" OnClick="LinkButtonfirst_Click">首页</asp:LinkButton>
<asp:LinkButton ID="LinkButtonupper" runat="server" OnClick="LinkButtonupper_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="LinkButtonnext" runat="server" OnClick="LinkButtonnext_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="LinkButtonend" runat="server" OnClick="LinkButtonend_Click">尾页</asp:LinkButton>
</PagerTemplate>
</asp:GridView>

[解决办法]
沙发
[解决办法]
能运行么
[解决办法]
怎么那么多?运行过了吗?真的能用吗?
[解决办法]

[解决办法]

[解决办法]

教学帖....顶

读书人网 >asp.net

热点推荐