问一个很菜鸟的问题。。AspNetPager分页控件怎么用?
我分了几个贴子。。好多人都是回答用AspNetPager分页控件于是我下了个。。怎么也不会用。。
还有一些相关帖子中回复说去这个
http://www.webdiyer.com/doc/Wuqi.Webdiyer.AspNetPager.html
我怎么打不开??
我下载 的分布控件是这种形式的:
《〈 1 2 3 4 5 6 7 8 9 10... 〉》
数据查询用的是分页存储过程。。
数据显示控件用的是DataGrid。。。。。有人会不?
贴点相关代码或说明一下
--------------------编程问答-------------------- 自己写代码完成分页吧!这个不难的,我们都是自己写的! --------------------编程问答-------------------- 还是自己写好,想什么洋都可以 --------------------编程问答-------------------- 有说明文档的 --------------------编程问答--------------------
他写的示例初学者根本不会用的,我也是费了好大劲才弄会的,不过不是用存储过程,给你看看:
public void BindData()
{
string connstr = System.Configuration.ConfigurationManager.AppSettings["SqlConnectionString"];
SqlConnection myConn = new SqlConnection(connstr);
myConn.Open();
string sql = "select * from TestPager"; //告诉程序要读取哪张表的数据
SqlDataAdapter myAdapter = new SqlDataAdapter(sql, myConn);
DataSet ds = new DataSet();
myAdapter.Fill(ds, AspNetPager1.PageSize * (AspNetPager1.CurrentPageIndex - 1), AspNetPager1.PageSize, "dtable");
myConn.Close();
this.Repeater1.DataSource = ds.Tables[0].DefaultView;
this.Repeater1.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
BindData();
}
--------------------编程问答-------------------- 自己写吧,方便想怎么改怎么改 --------------------编程问答-------------------- SqlConnection conn = new SqlConnection("server=localhost;database=bgglxt;uid=sa;pwd='7802456'");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM basic_plan";
cmd.Connection = conn;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
PagedDataSource objPage = new PagedDataSource();
objPage.DataSource = ds.Tables[0].DefaultView;
objPage.AllowPaging = true;
objPage.PageSize = 20;
int CurPage;
if (Request.QueryString["Page"] != null)
CurPage = Convert.ToInt32(Request.QueryString["Page"]);
else CurPage = 1;
objPage.CurrentPageIndex = CurPage - 1;
lblCurPage.Text = "总" + objPage.PageCount.ToString() + "页 当前第" + CurPage.ToString() + "页";
HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?&Page=" + objPage.PageCount;
HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath;
Labely.Text = CurPage.ToString();
if (!objPage.IsFirstPage)
{
LnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?&Page=" + Convert.ToString(CurPage - 1);
}
if (!objPage.IsLastPage)
{
LnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?&Page=" + Convert.ToString(CurPage + 1);
}
Repeater1.DataSource = objPage;
Repeater1.DataBind();
da.Dispose();
conn.Close(); --------------------编程问答-------------------- 我自己写的时候有人就说用控件。。
--------------------编程问答-------------------- 用控件省心 自己写自由 控件做的只是你告诉它总页数和当前页码 它给你显示分页导航 数据肯定还是要自己读取的 --------------------编程问答-------------------- http://www.webdiyer.com/ 有例子下载。 --------------------编程问答-------------------- 还是没有搞懂。。。
我以我的程序说明
DataGrid
----------------------------
分页控件。。。。。
后台代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
Showinfo();
}
}
private void ShowNews()
{
DataSet ds=Tools.GetAll(......);//得到一个ds
int pageCount=Tools.GetCount();//得到总记录数
//我能给的参数就是这些。。。
this.dg_s.DataSource=ds.Tables[0].DefaultView;
this.dg_s.DataBind();
//后边的就不会了
}
private void AspNetPager1_PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
{
//这里也不会
}
--------------------编程问答-------------------- --------------------编程问答-------------------- mark!!!!!! --------------------编程问答-------------------- set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[EmpPage]
@pagesize int,
@currentpageIndex int
as
declare @sql nvarchar(500)
set @sql=' select Top '+ convert(varchar(10),@pagesize)+
' * from NewsInfo where NewsId not in (select Top '+
convert(varchar(10),(@currentpageIndex-1) * @pagesize)+
' NewsId from NewsInfo order by NewsId ASC) order by NewsId ASC '
exec sp_executesql @sql
--------------------编程问答-------------------- 晕死了,这么老的帖子都被顶起来了!!楼主呢?没结帖就跑了:)
===================================================
ASP.NET WebForm和ASP.NET MVC分页最终解决之道 --------------------编程问答-------------------- 如果楼主还没解决。。
解决方案
===============================
加我的QQ 280166537.
通过远程我给你演示一次。 --------------------编程问答-------------------- 2007年的贴 ,楼主早转行了。 --------------------编程问答-------------------- 这个也太早了 …………
自己写了用方便点 --------------------编程问答--------------------
这么深的贴子挖出来。。
补充:.NET技术 , ASP.NET