.net datalist分页问题,设置了allowPaging=true,pagesize也设置了但是所有的数据还是在一个页面显示,求
后台代码:publicpartialclasstest10:System.Web.UI.Page{protectedvoidPage_Load(objectsender,...
后台代码:
public partial class test10 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
listbind();
}
}
void listbind()
{ PagedDataSource pages = new PagedDataSource();
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlDataAdapter sqld = new SqlDataAdapter("select * from products", sqlconnstr);
DataSet ds = new DataSet();
sqld.Fill(ds, "sql");
using (SqlConnection sqlconn = new SqlConnection(sqlconnstr))
{
pages.DataSource = ds.Tables[0].DefaultView;
pages.AllowPaging = true;
pages.PageSize = 6;
int Curpage = Convert.ToInt32(this.Label1.Text);
pages.CurrentPageIndex = Curpage - 1;
if (pages.CurrentPageIndex < 0)
{
pages.CurrentPageIndex = 0;
}//只有一页时禁用上下页
if (pages.PageCount == 1)
{
LinkButtonPrev.Enabled = false;
LinkButtonNext.Enabled = false;
}
else //多页时
{
//为第一页时
if (Curpage == 1)
{
LinkButtonPrev.Enabled = false;
LinkButtonNext.Enabled = true;
}
//为最后一页时
if (Curpage == pages.PageCount)
{
LinkButtonPrev.Enabled = true;
LinkButtonNext.Enabled = false;
}
}
this.Label2.Text = Convert.ToString(pages.PageCount);
DataList1.DataBind();
}
}
//首页
protected void LinkButtonFirst_Click(object sender, EventArgs e)
{
this.Label1.Text = "1";
listbind(); }
protected void LinkButtonPrev_Click(object sender, EventArgs e)
{
this.Label1.Text = Convert.ToString(int.Parse(this.Label1.Text) - 1);
listbind();
}
protected void LinkButtonNext_Click(object sender, EventArgs e)
{
this.Label1.Text = Convert.ToString(int.Parse(this.Label1.Text) + 1);
listbind();
}
protected void LinkButtonLast_Click(object sender, EventArgs e)
{
this.Label1.Text = this.Label1.Text;
listbind();
}
}
代码没有显示错误 但是数据都显示在第一页,怎么解决??急。。。
1楼按你说的做没有用。连上下页都不能点了 展开
public partial class test10 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
listbind();
}
}
void listbind()
{ PagedDataSource pages = new PagedDataSource();
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlDataAdapter sqld = new SqlDataAdapter("select * from products", sqlconnstr);
DataSet ds = new DataSet();
sqld.Fill(ds, "sql");
using (SqlConnection sqlconn = new SqlConnection(sqlconnstr))
{
pages.DataSource = ds.Tables[0].DefaultView;
pages.AllowPaging = true;
pages.PageSize = 6;
int Curpage = Convert.ToInt32(this.Label1.Text);
pages.CurrentPageIndex = Curpage - 1;
if (pages.CurrentPageIndex < 0)
{
pages.CurrentPageIndex = 0;
}//只有一页时禁用上下页
if (pages.PageCount == 1)
{
LinkButtonPrev.Enabled = false;
LinkButtonNext.Enabled = false;
}
else //多页时
{
//为第一页时
if (Curpage == 1)
{
LinkButtonPrev.Enabled = false;
LinkButtonNext.Enabled = true;
}
//为最后一页时
if (Curpage == pages.PageCount)
{
LinkButtonPrev.Enabled = true;
LinkButtonNext.Enabled = false;
}
}
this.Label2.Text = Convert.ToString(pages.PageCount);
DataList1.DataBind();
}
}
//首页
protected void LinkButtonFirst_Click(object sender, EventArgs e)
{
this.Label1.Text = "1";
listbind(); }
protected void LinkButtonPrev_Click(object sender, EventArgs e)
{
this.Label1.Text = Convert.ToString(int.Parse(this.Label1.Text) - 1);
listbind();
}
protected void LinkButtonNext_Click(object sender, EventArgs e)
{
this.Label1.Text = Convert.ToString(int.Parse(this.Label1.Text) + 1);
listbind();
}
protected void LinkButtonLast_Click(object sender, EventArgs e)
{
this.Label1.Text = this.Label1.Text;
listbind();
}
}
代码没有显示错误 但是数据都显示在第一页,怎么解决??急。。。
1楼按你说的做没有用。连上下页都不能点了 展开
3个回答
展开全部
DataList1.DataBind();
你应该在这句 之前 加上一句
DataList1.DataSource = pages;
你应该在这句 之前 加上一句
DataList1.DataSource = pages;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
pages.DataSource = ds.Tables[0].DefaultView;
问题可能出在dataset中 要想做分页显示 pages.datasource = 数据源或泛型list 才行 视图 我没试过 你可以试试 ds.tables[0].count ;
问题可能出在dataset中 要想做分页显示 pages.datasource = 数据源或泛型list 才行 视图 我没试过 你可以试试 ds.tables[0].count ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询