想控制GridView分页样式,请教高手!

wukai_C 2007-01-17 05:36:09
想控制分页的时候,当前页码为红色,加粗,请指教
...全文
1311 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatverve 2008-10-17
  • 打赏
  • 举报
回复
用AspNetPager吧,方便得多。好看得多。
用自带的,太费事。
dongyifeng622 2008-10-17
  • 打赏
  • 举报
回复
vs2005 vs2008中的方法如下: 很爽哈。

protected override void OnRowDataBound(GridViewRowEventArgs e)
{
#region 分页的样式问题
if (e.Row.RowType == DataControlRowType.Pager)
{

System.Web.UI.ControlCollection cls = e.Row.Controls[0].Controls[0].Controls[0].Controls;
for (int i = 0; i < cls.Count; i++)
{
string s = cls[i].Controls[0].GetType().ToString().Trim();

if (s == "System.Web.UI.WebControls.DataControlPagerLinkButton")
{
System.Web.UI.WebControls.LinkButton lb = (System.Web.UI.WebControls.LinkButton)cls[i].Controls[0];

lb.Font.Underline = true;
}

if (s == "System.Web.UI.WebControls.Label")
{
System.Web.UI.WebControls.Label lb = (System.Web.UI.WebControls.Label)cls[i].Controls[0];
//lb.Text = "第 " + lb.Text + "页 ";

lb.ForeColor = System.Drawing.Color.Red;

lb.Font.Bold = true;
}
}
}
#endregion

base.OnRowDataBound(e);
}


wtsdesigner 2007-01-19
  • 打赏
  • 举报
回复
WTS分页三剑侠
http://community.csdn.net/Expert/topic/5290/5290374.xml?temp=.5702173
wukai_C 2007-01-18
  • 打赏
  • 举报
回复
试过了,还不行,大家再给点建议
LikeCode 2007-01-17
  • 打赏
  • 举报
回复
抱歉, 上面的GeneratePageIndexCode方法是不用, 我不小心将他贴上来了
LikeCode 2007-01-17
  • 打赏
  • 举报
回复
/// <summary>
/// 产生主题列表分页显示的索引 HTML代码
/// </summary>
private void GeneratePageIndex(int GvPageCount)
{
int[] pageList = new int[GvPageCount];
string s = "";

for (int i = 0; i != GvPageCount; ++i)
{

pageList[i] = i + 1;
s += "<a href=\"default3.aspx?page=" + pageList[i] + "\"><span id=\"pageIndex_" + pageList[i] + "\"> " + pageList[i] + " </span></a>" + " ";
}
int curPageIndex;
if (Request.QueryString["page"] != null && Request.QueryString["page"] != "")
curPageIndex = int.Parse(Request.QueryString["page"]);
else
curPageIndex = 1;
// 加 1 即为浏览用户所看到的页码
string curPageIndexHtml = "<a href=\"default3.aspx?page=" + curPageIndex + "\"><span id=\"pageIndex_" + curPageIndex + "\"> " + curPageIndex + " </span></a>";
string disableCurPageIndexHyperLink = "<span id=\"pageIndex_" + curPageIndex + "\"> " + curPageIndex + " </span>";
s = s.Replace(curPageIndexHtml, disableCurPageIndexHyperLink);
((Label)GridView1.BottomPagerRow.FindControl("Label7")).Text = s;
}





/// <summary>
/// 主题多回复时,分页查看,此方法产生索引的HTML代码
/// </summary>
/// <param name="replies">回复数</param>
/// <returns>返回产生的HTML代码</returns>
private string GeneratePageIndexCode(int replies)
{
int pageCount = replies / 10;
if ((replies % 10) != 0)
++pageCount;
string pageIndexCode = " <img src=\"multipage.gif\" border=\"0\"> ";
if (pageCount > 8)
{
for (int i = 1; i != 7; ++i)
pageIndexCode += "<a href=\"viewtopic.aspx?tid=3&page=" + i + "\"> " + i + "</a> ";
pageIndexCode += "...";
pageIndexCode += "<a href=\"viewtopic.aspx?tid=3&page=" + pageCount + "\"> " + pageCount + "</a> ";
}
else
{
++pageCount; // 提高效率,方便下面的循环
for (int i = 1; i != pageCount; ++i)
pageIndexCode += "<a href=\"viewtopic.aspx?tid=3&page=" + i + "\"> " + i + "</a> ";
}
return pageIndexCode;
}
young5335_cn 2007-01-17
  • 打赏
  • 举报
回复
楼主,working1997(haha)这位同志已经很好的回答了你的问题了
wukai_C 2007-01-17
  • 打赏
  • 举报
回复
我不是问怎么绑定哦,是问怎么控制样式
songqiumin 2007-01-17
  • 打赏
  • 举报
回复
gridview有三个属性:把allowpaging设置为true,pagesize设一个数字值,datasource绑定到一个数据库,这是第一种和数据库直接绑定的分法。
另外一种是把datasource绑定到dataset或datatable ,你把dataset或datatable的一个事例dt或ds添到gridview的一个属性datamember中,再单际gridview的一个pagechanging事件,在这里面写gridview.pageindex=e.newpageindex;bind();
bind()是自己定义的一个绑定的方法。
以上写的有些单词可能有错,我也没有看代码。请多包涵。大致就这些。
wukai_C 2007-01-17
  • 打赏
  • 举报
回复
代码贴上来看看啊
LikeCode 2007-01-17
  • 打赏
  • 举报
回复
我是通过编辑PagerTemplate, 在PT里加两个LABEL控件, 然后在CS代码控件页码样式, 反正是很土的方法, 但是实现了想要的功能.
不知道有没有更简单或者更规范不?
wukai_C 2007-01-17
  • 打赏
  • 举报
回复
好的,我试试
working1997 2007-01-17
  • 打赏
  • 举报
回复
我只有2003的,2005的没时间试,你自己参考看能否实现吧
if(e.Item.ItemType == System.Web.UI.WebControls.ListItemType.Pager)
{
System.Web.UI.ControlCollection cls = e.Item.Controls[0].Controls;
for(int i = 0;i<cls.Count;i++)
{
string s = cls[i].GetType().ToString().Trim();
if(s == "System.Web.UI.WebControls.DataGridLinkButton")
{
System.Web.UI.WebControls.LinkButton lb = (System.Web.UI.WebControls.LinkButton)cls[i];
lb.Text = "第" + lb.Text + "页";
}
if(s == "System.Web.UI.WebControls.Label")
{
System.Web.UI.WebControls.Label lb = (System.Web.UI.WebControls.Label)cls[i];
lb.Text = "第" + lb.Text + "页";

lb.ForeColor = System.Drawing.Color.Red;

lb.Font.Bold = true;
}
}
}
michael556cdj 2007-01-17
  • 打赏
  • 举报
回复
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" DataSourceID="SqlDataSource1">
</asp:GridView>

AllowPaging="True"

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧