468,537 Members | 1,479 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,537 developers. It's quick & easy.

Customize datagrid pager

Ray
I am trying to add a "Next >" and "<Prev" button to the pager of my datagrid.
I have been able to add the hyperlinks to the pager. I am now trying to
determine the correct postback script to emulate so that these hyperlinks
force the postback of the appropriate linkbuttons in the pager.

Let's take a pager with pager: 1 2 3 4 5
It consists of: linkbutton linkbutton label linkbutton linkbutton

I want it to be: < Prev 1 2 3 4 5 Next >
It consists of: hyperlink linkbutton linkbutton label linkbutton linkbutton
hyperlink

If I am on page 3 then by clicking on Next, I want the postback for
linkbutton 4 to be posted.

Currently my script is enumerating throught the controls of the pager to
determine which is the label control. The label is the current active page
as the other pages are linkbutton controls in the collection. My code is as
follows:

Private Sub dgSearch_ItemCreated(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgSearch.ItemCreated
If e.Item.ItemType = ListItemType.Pager Then
Try
Dim Pager As TableCell = CType(e.Item.Controls(0), TableCell)
Dim x As Int16 = 0

Dim myEnumerator As IEnumerator =
Pager.Controls.GetEnumerator()
While (myEnumerator.MoveNext())
Dim myObject As Object = myEnumerator.Current
If (myObject.GetType().Equals(GetType(Label))) Then
If Not x = 0 Then
Exit While
End If
End If
x += 1
End While

'Additional Pager Text
Dim InfoText As Label = New Label
InfoText.ID = "it"
InfoText.Font.Bold = True
InfoText.Text = "Page: "
Pager.Controls.AddAt(0, InfoText)

'Add custom Previous/Next paging section
'Loop indexed by 2 through datagrid paging numbers controls
jumping over the spaces
Dim i As Integer = 1
Dim endPagingIndex As Integer = (Pager.Controls.Count - 1)

Do While (i <= Pager.Controls.Count)
Dim pgNumbers As Object = Pager.Controls(i)
If (pgNumbers.GetType.Name = "Label") Then
'Dim lb As Label = CType(pgNumbers, Label)
'Find index position of paging ellipses
If (i > 1) And (i < endPagingIndex) Then
'Insert Previous & Next page link
i += 1
endPagingIndex += 1

Dim Prev As HyperLink = New HyperLink
Prev.ID = "pre"
Prev.Text = "< Prev "
prev.NavigateUrl = "javascript:__doPostBack('" &
dgSearch.UniqueID & "$_ctl14$_ctl" & (x / 2) - 1 & "','')"
Pager.Controls.AddAt(1, Prev)

Dim Nex As HyperLink = New HyperLink
Nex.ID = "nex"
Nex.Text = " Next >"
Nex.NavigateUrl = "javascript:__doPostBack('" &
dgSearch.UniqueID & "$_ctl14$_ctl" & (x / 2) + 1 & "','')" '" &
CInt((endPagingIndex - 1) / 2) & "
Pager.Controls.AddAt(endPagingIndex + 1, Nex)
ElseIf (i > 1) And (i = endPagingIndex) Then
'Insert Previous page link
i += 1
endPagingIndex += 1

Dim Prev As HyperLink = New HyperLink
Prev.ID = "pre"
Prev.Text = "< Prev "
prev.NavigateUrl = "javascript:__doPostBack('" &
dgSearch.UniqueID & "$_ctl14$_ctl" & (x / 2) - 1 & "','')"
Pager.Controls.AddAt(1, Prev)
ElseIf (i = 1) And (i < endPagingIndex) Then
'Insert Next page link
i += 1
endPagingIndex += 1

Dim Nex As HyperLink = New HyperLink
Nex.ID = "nex"
Nex.Text = " Next >"
Nex.NavigateUrl = "javascript:__doPostBack('" &
sender.UniqueID & "$_ctl14$_ctl" & 1 & "','')"
Pager.Controls.AddAt(endPagingIndex, Nex)
End If
End If
i += 1
Loop
Catch ex As Exception

End Try
End If

I am having difficulty to build the NavigateUrl for the hyperlink control.
I have determined that the postback of the linkbuttons in the pager is a
hierarchy of UniqueIDs seperated by $. I.e. dgSearch$_ctl14$_ctl4

So it consists of: the datagrid name $ a control that I don't know (_ctl14)
$ the id of the linkbutton.

My question is, what is the name of the control that I am missing (_ctl14)
or is there another way to get this to work?

This is my first try to customize the pager and there is no article out
there that describes this scenario.
Nov 19 '05 #1
0 1657

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by kgs | last post: by
8 posts views Thread by sumit | last post: by
2 posts views Thread by Roy | last post: by
2 posts views Thread by Ben | last post: by
4 posts views Thread by Sandy | last post: by
1 post views Thread by Friso Wiskerke | last post: by
5 posts views Thread by NuB | last post: by
reply views Thread by moondog | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.