在asp.net页面中,左边放入一个treeview控件,右边一个datalist控件;根据treeview所选节点不同,datalist中显示不同的内容,在该页面中我已经加入了一个sqldatasource控件与datalist绑定,根据treeview.selectedvalue的变化,sqldatasource中数据源也相应的改变,从而使datalist中根据treeview所选节点不同而变化。
但是当datalist中数据多的时候,没有分页功能。不知道在这些基础上能不能添加分页功能。请高手帮忙...
但是当datalist中数据多的时候,没有分页功能。不知道在这些基础上能不能添加分页功能。请高手帮忙...
通过viewstate记录条件值
datalist.datasource=执行那个存储过程的方法
datalist.Databind();然后计算出总页数在根据当前页,总页数就很容易得出
我看过你说的页面了,请问怎么把AspNetPager与SqlDataSource绑定到一块儿使用,又不需要更改SqlDataSource的数据源呢?请指教....
这是我的一个Datalist手写的一个分页功能,用pageDataSource,用可以参考一下!
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
MyBind();
}
}
private void MyBind()
{ List<books> list = new BooksManager().GetPartialBooksBySql(name);
//分页代码
PagedDataSource pds = new PagedDataSource();
//设置数据源
pds.DataSource = list;
//允许分页
pds.AllowPaging = true;
//设置页大小
pds.PageSize = 4;
//设置当前页索引
Int32 index = Convert.ToInt32(this.lblCurrentPageIndex.Text) - 1;
//分界判断
this.btnPre.Enabled = true;
this.btnNext.Enabled = true;
if (index <= 0)
{
index = 0;
this.btnPre.Enabled = false;
this.lblCurrentPageIndex.Text = "1";
}
if (index >= pds.PageCount - 1)
{
index = pds.PageCount - 1;
this.btnNext.Enabled = false;
this.lblCurrentPageIndex.Text = pds.PageCount.ToString(); }
pds.CurrentPageIndex = index;
this.lblPageCount.Text = pds.PageCount.ToString();
this.DataList1.DataSource = pds;
this.DataList1.DataBind();
}