想控制分页的时候,当前页码为红色,加粗,请指教

解决方案 »

  1.   

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" DataSourceID="SqlDataSource1">
        </asp:GridView>AllowPaging="True"
      

  2.   

    我只有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;
    }
    }
    }
      

  3.   

    我是通过编辑PagerTemplate, 在PT里加两个LABEL控件, 然后在CS代码控件页码样式, 反正是很土的方法, 但是实现了想要的功能.
    不知道有没有更简单或者更规范不?
      

  4.   

    gridview有三个属性:把allowpaging设置为true,pagesize设一个数字值,datasource绑定到一个数据库,这是第一种和数据库直接绑定的分法。
    另外一种是把datasource绑定到dataset或datatable ,你把dataset或datatable的一个事例dt或ds添到gridview的一个属性datamember中,再单际gridview的一个pagechanging事件,在这里面写gridview.pageindex=e.newpageindex;bind();
    bind()是自己定义的一个绑定的方法。
    以上写的有些单词可能有错,我也没有看代码。请多包涵。大致就这些。
      

  5.   

    楼主,working1997(haha)这位同志已经很好的回答了你的问题了
      

  6.   

    /// <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] + "\">&nbsp;" + pageList[i] + "&nbsp;</span></a>" + "&nbsp;";
            }
            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 + "\">&nbsp;" + curPageIndex + "&nbsp;</span></a>";
            string disableCurPageIndexHyperLink = "<span  id=\"pageIndex_" + curPageIndex + "\">&nbsp;" + curPageIndex + "&nbsp;</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 = "&nbsp;<img src=\"multipage.gif\" border=\"0\">&nbsp;";
            if (pageCount > 8)
            {
                for (int i = 1; i != 7; ++i)
                    pageIndexCode += "<a href=\"viewtopic.aspx?tid=3&page=" + i + "\"> " + i + "</a>&nbsp;";
                pageIndexCode += "...";
                pageIndexCode += "<a href=\"viewtopic.aspx?tid=3&page=" + pageCount + "\"> " + pageCount + "</a>&nbsp;";
            }
            else
            {
                ++pageCount; // 提高效率,方便下面的循环
                for (int i = 1; i != pageCount; ++i)
                    pageIndexCode += "<a href=\"viewtopic.aspx?tid=3&page=" + i + "\"> " + i + "</a>&nbsp;";
            }
            return pageIndexCode;
        }
      

  7.   

    抱歉, 上面的GeneratePageIndexCode方法是不用, 我不小心将他贴上来了
      

  8.   

    WTS分页三剑侠
    http://community.csdn.net/Expert/topic/5290/5290374.xml?temp=.5702173
      

  9.   

    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);
            }
      

  10.   

    用AspNetPager吧,方便得多。好看得多。
    用自带的,太费事。