(VS2008、ASP.NET、C#) 求教 AspNetPager 分页控件。(我接触过AspNetPager分页控件,但是不会写代码)。
我需要以下两个功能:一、我已经从数据表里,返回了一个DataTable,并绑定在了页面的GridView中。我怎样才能交给AspNetPager分页?(求可运行的源代码)...
我需要以下两个功能:
一、我已经从数据表里,返回了一个DataTable,并绑定在了页面的GridView中。我怎样才能交给AspNetPager分页?(求可运行的源代码)
二、求高手结合AspNetPager分页控件,帮我写一个方法。
请按以下格式回答:
一、你已经得到一个DataTable,并绑定在了页面GridView中。此时,你想用AspNetPager进行分页,你需要做以下几步工作:
1、添加引用,把AspNetPager.dll添加到项目中;
2、在.aspx文件的顶部,添加如下代码:
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
3、在.aspx文件的底部,添加如下代码:
<webdiyer:AspNetPager ID="AspNetPager" runat="server" OnPageChanged="AspNetPager_PageChanged" OnPageChanging="AspNetPager_PageChanging" PageSize="20">
</webdiyer:AspNetPager>
4、在.cs文件里,添加如下代码:
protected void AspNetPager_PageChanged(object sender, EventArgs e)
{
XXXXXXXXXX
XXXXXXXXXX
}
5、XXXXXXXX
6、XXXXXXXX
.........
这样就能成功时用AspNetPager进行分页;
二、
using XXXXXX; //请别漏了
namespace AAA
{
public partial class BBB
{
/// <summary>
/// sql,是SQL语句
/// orderby,是用于排序的列名
/// pageIndex,是从第几页开始
/// pageSize,每页的大小
/// int recCount,是XXXXX
/// param,参数化输入的参数
/// </summary>
public static DataTable GetPageDataTable(string sql, string orderby, int pageIndex, int pageSize, out int recCount, params SqlParameter[] param)
{
XXXXXXXX
XXXXXXXX
XXXXXXXX
return XXXXXX;
}
}
}
以上就是通用的方法:
你在页面 (.cs文件)里,这样调用方法就行了
using AAA;
private void bindDataPage()
{
string sql="xxxxxxx";
int total = 0;
GridView1.DataSource = BBB.GetPageDataTable(sql,"列名", AspNetPager.CurrentPageIndex - 1, AspNetPager.PageSize, out total,"参数");
AspNetPager.RecordCount = total;
GridView1.DataBind();
}
终于都调出来了,但是出现了一个新问题。
如图所示,求教。 展开
一、我已经从数据表里,返回了一个DataTable,并绑定在了页面的GridView中。我怎样才能交给AspNetPager分页?(求可运行的源代码)
二、求高手结合AspNetPager分页控件,帮我写一个方法。
请按以下格式回答:
一、你已经得到一个DataTable,并绑定在了页面GridView中。此时,你想用AspNetPager进行分页,你需要做以下几步工作:
1、添加引用,把AspNetPager.dll添加到项目中;
2、在.aspx文件的顶部,添加如下代码:
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
3、在.aspx文件的底部,添加如下代码:
<webdiyer:AspNetPager ID="AspNetPager" runat="server" OnPageChanged="AspNetPager_PageChanged" OnPageChanging="AspNetPager_PageChanging" PageSize="20">
</webdiyer:AspNetPager>
4、在.cs文件里,添加如下代码:
protected void AspNetPager_PageChanged(object sender, EventArgs e)
{
XXXXXXXXXX
XXXXXXXXXX
}
5、XXXXXXXX
6、XXXXXXXX
.........
这样就能成功时用AspNetPager进行分页;
二、
using XXXXXX; //请别漏了
namespace AAA
{
public partial class BBB
{
/// <summary>
/// sql,是SQL语句
/// orderby,是用于排序的列名
/// pageIndex,是从第几页开始
/// pageSize,每页的大小
/// int recCount,是XXXXX
/// param,参数化输入的参数
/// </summary>
public static DataTable GetPageDataTable(string sql, string orderby, int pageIndex, int pageSize, out int recCount, params SqlParameter[] param)
{
XXXXXXXX
XXXXXXXX
XXXXXXXX
return XXXXXX;
}
}
}
以上就是通用的方法:
你在页面 (.cs文件)里,这样调用方法就行了
using AAA;
private void bindDataPage()
{
string sql="xxxxxxx";
int total = 0;
GridView1.DataSource = BBB.GetPageDataTable(sql,"列名", AspNetPager.CurrentPageIndex - 1, AspNetPager.PageSize, out total,"参数");
AspNetPager.RecordCount = total;
GridView1.DataBind();
}
终于都调出来了,但是出现了一个新问题。
如图所示,求教。 展开
3个回答
展开全部
设置你的gridview里面这个属性PageStyle,可以这个属性的子属性ForeColor里面把字体颜色设为白色就看不见了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一、AspNetPager支持两种方式分页:
一种是PostBack方式分页,
一种是通过Url来实现分页以及Url重写功能
二、AspNetPager支持各种数据绑定控件GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件的分页功能十分强大。
三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合,
四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager十分实用
测试控件datalist aspnetpager 的分页方法示例 分页方法为 PostBack 方式
1、 首先将AspNetPager.dll复制于应用程序下的bin目录,打开解决方案,引入dll文件
2、 在工具栏中添加控件,这样可以支持拖拽使用
3、 要使用AspNetPager 要为其设置最基本的属性
使用 SqlServer Northwind数据库的 Products表
protected Wuqi.Webdiyer.AspNetPager AspNetPager1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DataList DataList1;
private void Page_Load(object sender, System.EventArgs e)
{
this.AspNetPager1.PageSize=10; //设置每也显示的记录条数
if(!IsPostBack) //只在页面第一次加载时起作用
{
SqlDBManager db = new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"]);
AspNetPager1.RecordCount=db.CountPage("products");//获得要使用表的记录总数
//db.CountItems自定义的方法
this.BindData();
}
}
private void BindData()
{
SqlDBManager db= new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"].ToString();
DataList1.DataSource=db.FenPage(this.AspNetPager1.PageSize,this.AspNetPager1.CurrentPageIndex,"productid","products","productid,productname,unitprice,unitsinstock","");
//自定义方法由 TOP not in 存储过程分页方法改编
this.DataList1.DataBind(); //控件数据绑定
this.Label1.Text="当前第"+this.AspNetPager1.CurrentPageIndex+"页 总"+this.AspNetPager1.PageCount+"页";
}
private void AspNetPager1_PageChanged(object sender, System.EventArgs e)
{ //页索引改变方法
this.BindData();
}
设计页效果
<asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 296px; POSITION: absolute; TOP: 96px" runat="server">
<HeaderTemplate>
<table border='1'>
<tr>
<td>产品ID</td>
<td>产品名称</td>
<td>产品数量</td>
<td>产品单价</td>
</tr>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"Productid")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"productname")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"unitprice")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"unitsinstock")%></td>
</tr>
</ItemTemplate>
</asp:DataList>
<webdiyer:AspNetPager id="AspNetPager1" style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server" Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" Height="40px" NumericButt PagingButt ShowNavigati ShowInputBox="Always" TextAfterInputBox="页" TextBeforeInputBox="跳转到第" AlwaysShow="True">
</webdiyer:AspNetPager>
<asp:Label id="Label1" style="Z-INDEX: 103; LEFT: 120px; POSITION: absolute; TOP: 56px" runat="server">Label</asp:Label>
一种是PostBack方式分页,
一种是通过Url来实现分页以及Url重写功能
二、AspNetPager支持各种数据绑定控件GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件的分页功能十分强大。
三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合,
四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager十分实用
测试控件datalist aspnetpager 的分页方法示例 分页方法为 PostBack 方式
1、 首先将AspNetPager.dll复制于应用程序下的bin目录,打开解决方案,引入dll文件
2、 在工具栏中添加控件,这样可以支持拖拽使用
3、 要使用AspNetPager 要为其设置最基本的属性
使用 SqlServer Northwind数据库的 Products表
protected Wuqi.Webdiyer.AspNetPager AspNetPager1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DataList DataList1;
private void Page_Load(object sender, System.EventArgs e)
{
this.AspNetPager1.PageSize=10; //设置每也显示的记录条数
if(!IsPostBack) //只在页面第一次加载时起作用
{
SqlDBManager db = new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"]);
AspNetPager1.RecordCount=db.CountPage("products");//获得要使用表的记录总数
//db.CountItems自定义的方法
this.BindData();
}
}
private void BindData()
{
SqlDBManager db= new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"].ToString();
DataList1.DataSource=db.FenPage(this.AspNetPager1.PageSize,this.AspNetPager1.CurrentPageIndex,"productid","products","productid,productname,unitprice,unitsinstock","");
//自定义方法由 TOP not in 存储过程分页方法改编
this.DataList1.DataBind(); //控件数据绑定
this.Label1.Text="当前第"+this.AspNetPager1.CurrentPageIndex+"页 总"+this.AspNetPager1.PageCount+"页";
}
private void AspNetPager1_PageChanged(object sender, System.EventArgs e)
{ //页索引改变方法
this.BindData();
}
设计页效果
<asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 296px; POSITION: absolute; TOP: 96px" runat="server">
<HeaderTemplate>
<table border='1'>
<tr>
<td>产品ID</td>
<td>产品名称</td>
<td>产品数量</td>
<td>产品单价</td>
</tr>
</HeaderTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
<ItemTemplate>
<tr>
<td><%# DataBinder.Eval(Container.DataItem,"Productid")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"productname")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"unitprice")%></td>
<td><%# DataBinder.Eval(Container.DataItem,"unitsinstock")%></td>
</tr>
</ItemTemplate>
</asp:DataList>
<webdiyer:AspNetPager id="AspNetPager1" style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server" Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" Height="40px" NumericButt PagingButt ShowNavigati ShowInputBox="Always" TextAfterInputBox="页" TextBeforeInputBox="跳转到第" AlwaysShow="True">
</webdiyer:AspNetPager>
<asp:Label id="Label1" style="Z-INDEX: 103; LEFT: 120px; POSITION: absolute; TOP: 56px" runat="server">Label</asp:Label>
追问
朋友你好,谢谢你找的资料!
我刚才按步骤试着来,结果失败了,报了N个错误,搞不来。
请问你能帮忙修改一下吗?
变成我所问的那样,是GridView的,而且是可操作的现成代码,我再试一遍!
我实在是不懂,还请指教!
谢谢哈~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-21
展开全部
没有满意答案。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询