如何在GrideView控件中自定义分页功能? 我用SqlPager控件自定义“分页”功能。可是总是在这个空间上显示“无数据”,这是怎么回事? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 protected void Gridview1_RowCreated(object sender, GridViewRowEventArgs e) { int PageSize = this.gvBlogList.PageSize; int PageIndex = this.gvBlogList.PageIndex; int PageCount = this.gvBlogList.PageCount; int RecoderCount = this.gvBlogList.Rows.Count; if (e.Row.RowType == DataControlRowType.Pager) { LinkButton Frist = new LinkButton(); LinkButton Prev = new LinkButton(); LinkButton Next = new LinkButton(); LinkButton Last = new LinkButton(); e.Row.Controls.Clear(); TableCell tc = new TableCell(); tc.Controls.Add(new LiteralControl(" ")); tc.Controls.Add(new LiteralControl("共" + RecoderCount.ToString() + "条记录")); tc.Controls.Add(new LiteralControl(" ")); tc.Controls.Add(new LiteralControl("共" + PageCount.ToString() + "页")); tc.Controls.Add(new LiteralControl(" ")); tc.Controls.Add(new LiteralControl("当前第" + (PageIndex + 1).ToString() + "页")); tc.Controls.Add(new LiteralControl(" ")); tc.Controls.Add(new LiteralControl("每页" + PageSize.ToString() + "条记录")); tc.Controls.Add(new LiteralControl(" ")); Frist.Text = "首页"; Frist.CommandName = "Page"; Frist.CommandArgument = "First"; Frist.Font.Underline = false; Prev.Text = "上一页"; Prev.CommandName = "Page"; Prev.CommandArgument = "Prev"; Prev.Font.Underline = false; Next.Text = "下一页"; Next.CommandName = "Page"; Next.CommandArgument = "Next"; Next.Font.Underline = false; Last.Text = "尾页"; Last.CommandName = "Page"; Last.CommandArgument = "Last"; Last.Font.Underline = false; if (PageIndex <= 0) { Prev.Enabled = false; Frist.Enabled = false; } else { Prev.Enabled = true; Frist.Enabled = true; } tc.Controls.Add(Frist); tc.Controls.Add(new LiteralControl(" ")); tc.Controls.Add(Prev); tc.Controls.Add(new LiteralControl(" ")); for (int i = 0; i < PageCount; i++) { if (i == PageIndex) { tc.Controls.Add(new LiteralControl("<span style='color:red;font-weight:bold'>" + (i + 1).ToString() + "</span>")); } else { LinkButton lbBtn = new LinkButton(); lbBtn.Text = (i + 1).ToString(); lbBtn.CommandName = "Page"; lbBtn.CommandArgument = (i + 1).ToString(); lbBtn.Font.Underline = false; tc.Controls.Add(lbBtn); } tc.Controls.Add(new LiteralControl(" ")); } if (PageIndex >= PageCount - 1) { Next.Enabled = false; Last.Enabled = false; } else { Next.Enabled = true; Last.Enabled = true; } tc.Controls.Add(Next); tc.Controls.Add(new LiteralControl(" ")); tc.Controls.Add(Last); tc.Controls.Add(new LiteralControl(" ")); e.Row.Controls.Clear(); e.Row.Cells.Clear(); e.Row.Controls.Add(tc); } GV 中直接用这个属性就有自代的分页功能 GridView1.AllowPaging = true; protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; GridView1.DataBind(); }OK 了 自带的分页功能不太好用,我想自定义一个,我采用SqlPager控件,看了几个例子,代码没有几行,可是我采用了就是不行!急啊!使用该控件似乎用不到上面所写的代码。 上传图像预览功能,预览图片大小控制问题,大家帮帮忙 要生成10w个6位的验证码,可是生成后网页都死了,怎么办? ASP.NET页面显示慢的原因? 怎样将一个一行一列的表变成多行多列的表格 [一步一步写网站] —— [1] 填加数据 (up有分) 点击页面关闭按钮触发那些事件 菜鸟求助 询问特别问题! 菜鸟求:从数据库中提取值的代码 web.config的配置问题??急!急!! 高分请高手翻译Java代码成c#代码 求教aspx的在线考勤系统自动签到技术思路?
protected void Gridview1_RowCreated(object sender, GridViewRowEventArgs e)
{
int PageSize = this.gvBlogList.PageSize;
int PageIndex = this.gvBlogList.PageIndex;
int PageCount = this.gvBlogList.PageCount;
int RecoderCount = this.gvBlogList.Rows.Count; if (e.Row.RowType == DataControlRowType.Pager)
{
LinkButton Frist = new LinkButton();
LinkButton Prev = new LinkButton();
LinkButton Next = new LinkButton();
LinkButton Last = new LinkButton();
e.Row.Controls.Clear();
TableCell tc = new TableCell();
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("共" + RecoderCount.ToString() + "条记录"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("共" + PageCount.ToString() + "页"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("当前第" + (PageIndex + 1).ToString() + "页"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("每页" + PageSize.ToString() + "条记录"));
tc.Controls.Add(new LiteralControl(" ")); Frist.Text = "首页";
Frist.CommandName = "Page";
Frist.CommandArgument = "First";
Frist.Font.Underline = false; Prev.Text = "上一页";
Prev.CommandName = "Page";
Prev.CommandArgument = "Prev";
Prev.Font.Underline = false; Next.Text = "下一页";
Next.CommandName = "Page";
Next.CommandArgument = "Next";
Next.Font.Underline = false; Last.Text = "尾页";
Last.CommandName = "Page";
Last.CommandArgument = "Last";
Last.Font.Underline = false; if (PageIndex <= 0)
{
Prev.Enabled = false;
Frist.Enabled = false;
}
else
{
Prev.Enabled = true;
Frist.Enabled = true;
}
tc.Controls.Add(Frist);
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(Prev);
tc.Controls.Add(new LiteralControl(" ")); for (int i = 0; i < PageCount; i++)
{
if (i == PageIndex)
{
tc.Controls.Add(new LiteralControl("<span style='color:red;font-weight:bold'>" + (i + 1).ToString() + "</span>")); }
else
{
LinkButton lbBtn = new LinkButton();
lbBtn.Text = (i + 1).ToString();
lbBtn.CommandName = "Page";
lbBtn.CommandArgument = (i + 1).ToString();
lbBtn.Font.Underline = false;
tc.Controls.Add(lbBtn);
}
tc.Controls.Add(new LiteralControl(" "));
}
if (PageIndex >= PageCount - 1)
{
Next.Enabled = false;
Last.Enabled = false;
}
else
{
Next.Enabled = true;
Last.Enabled = true;
}
tc.Controls.Add(Next);
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(Last);
tc.Controls.Add(new LiteralControl(" "));
e.Row.Controls.Clear();
e.Row.Cells.Clear();
e.Row.Controls.Add(tc);
}
GridView1.AllowPaging = true; protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}OK 了