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

尐孑 2008-07-15 02:57:16
//.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>
...全文
1288 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞翔熊 2012-03-03
  • 打赏
  • 举报
回复
什么东西呀, 乱糟糟的贴了那么多
lsj47987850 2011-11-06
  • 打赏
  • 举报
回复
这样不够效率啊
肖义崇 2009-04-14
  • 打赏
  • 举报
回复
不知道行不行,我试试再说,先谢谢了。
  • 打赏
  • 举报
回复

教学帖....顶
heerxiong 2008-07-15
  • 打赏
  • 举报
回复
尐孑 2008-07-15
  • 打赏
  • 举报
回复
我一直在用 没问题的 只要连接好数据库
cooolchen 2008-07-15
  • 打赏
  • 举报
回复
ge_shan 2008-07-15
  • 打赏
  • 举报
回复
怎么那么多?运行过了吗?真的能用吗?
dahuaxiyou601 2008-07-15
  • 打赏
  • 举报
回复
能运行么
chinahnzl 2008-07-15
  • 打赏
  • 举报
回复
沙发

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧