Вы можете сделать следующее. Сначала создайте пустой шаблон PagerTemplate:
<asp:GridView
ID="GridView1"
runat="server"
AllowPaging="true"
PagerSettings-Mode="Numeric"
PageSize="2" ondatabound="GridView1_DataBound">
<PagerTemplate />
</asp:GridView>
Теперь в ответ на событие DataBound вы можете добавить элементы управления в строку пейджера. Этот код просто добавляет номера страниц в виде кнопок LinkButtons.
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;