【问题标题】:Add Tooltip to paging link in asp.net GridView将工具提示添加到 asp.net GridView 中的分页链接
【发布时间】:2009-02-19 16:03:32
【问题描述】:

我有一个网格视图,最终可能会显示大约 5K 条记录。我目前将其设置为使用分页,因此它一次显示 200 条记录。为了增加可用性,我想为最终用户提供一些反馈,让他们更容易找到记录。我希望有一种方法,用户可以将鼠标放在其中一个寻呼机链接上,并且工具提示会显示页面上可用的记录范围。

例如:

用户将鼠标放在第 1 页链接上,工具提示显示为 ABOTT - BUELLER 用户将鼠标放在第 #14 页链接上,工具提示显示为 MARTIN - PELLIGRINO

我将如何在 ASP.NET 中完成这项工作?

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    您可以执行以下操作。首先创建一个空的PagerTemplate:

    <asp:GridView 
    ID="GridView1" 
    runat="server" 
    AllowPaging="true" 
    PagerSettings-Mode="Numeric" 
    PageSize="2" ondatabound="GridView1_DataBound">
        <PagerTemplate />
    </asp:GridView>
    

    现在,作为对 DataBound 事件的响应,您可以将控件添加到寻呼机行。此代码只是将页码添加为 LinkBut​​tons。

    protected void GridView1_DataBound(object sender, EventArgs e)
    {
        GridViewRow pagerRow = GridView1.BottomPagerRow;
    
        for (int i = 0; i < GridView1.PageCount; i++)
        {
            LinkButton lb = new LinkButton();
            lb.Text = i.ToString();
            lb.ToolTip = "...";
            lb.CommandName = "Page";
            lb.CommandArgument = i.ToString();
    
            pagerRow.Cells[0].Controls.Add(lb);
        }
    
    }
    

    您还需要处理 PageIndexChanging 事件。

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex + 1;
        GridView1.DataBind();
    }
    

    现在剩下的就是确定工具提示文本应该是什么。为此,您需要每一页的顶行和底行的索引。在此示例中,它们将是:

    int topIndex = i * GridView1.PageSize;
    int bottomIndex = ((i + 1) * GridView1.PageSize) - 1;
    

    【讨论】:

      猜你喜欢
      • 2015-03-24
      • 2016-09-30
      • 2010-12-23
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多