PC Review


Reply
Thread Tools Rate Thread

DataPager. Could someone, please, help me finishing this?

 
 
shapper
Guest
Posts: n/a
 
      4th Mar 2008
Hello,

I am creating a DataPager TemplatePagerField at runtime and trying to
replicate the following paging:

http://www.frequency-decoder.com/dem...ited/paginate/

At the moment this is not working very well. A postback is made every
time I click a button or a number.

I think it is my calculation on my TemplatePagerField PagerCommand
event.

Could someone help me out?

Thank You,

Miguel

Here is my code:


PagerCommand event handler

Private Sub tpftags_PagerCommand(ByVal sender As Object, ByVal e
As DataPagerCommandEventArgs)

' Check which button raised the event
Select Case e.CommandName

Case "Next"
Dim newIndex As Integer = e.Item.Pager.StartRowIndex +
e.Item.Pager.PageSize
If newIndex <= e.TotalRowCount Then
e.NewStartRowIndex = newIndex
e.NewMaximumRows = e.Item.Pager.MaximumRows
End If

Case "Previous"
Dim newIndex As Integer = e.Item.Pager.StartRowIndex +
e.Item.Pager.PageSize
If newIndex >= e.TotalRowCount Then
e.NewStartRowIndex = e.Item.Pager.StartRowIndex -
e.Item.Pager.PageSize
e.NewMaximumRows = e.Item.Pager.MaximumRows
End If

Case "First"
e.NewStartRowIndex = 0
e.NewMaximumRows = e.Item.Pager.MaximumRows

Case "Last"
e.NewStartRowIndex = e.Item.Pager.MaximumRows -
e.Item.Pager.PageSize
e.NewMaximumRows = e.Item.Pager.MaximumRows

Case "Number"
e.NewStartRowIndex = Convert.ToInt32(e.CommandArgument)
e.NewMaximumRows = e.Item.Pager.MaximumRows

End Select

End Sub

Class that implements ITemplate:

Public Class PagerTemplate
Implements ITemplate

Public Sub InstantiateIn(ByVal container As Control) Implements
ITemplate.InstantiateIn

Dim lbfirst As New LinkButton
lbfirst.Text = "«"
lbfirst.CommandName = "First"
container.controls.add(lbfirst)

Dim lbprevious As New LinkButton
lbprevious.Text = "<"
lbprevious.CommandName = "Previous"
container.controls.add(lbprevious)

Dim cont As DataPagerFieldItem = CType(container,
DataPagerFieldItem)
Dim a As DataPager = CType(cont.NamingContainer, DataPager)

Dim currentPage As Integer = (a.StartRowIndex / a.PageSize) + 1
Dim totalPages As Integer = a.TotalRowCount / a.PageSize

For i = currentPage To totalPages

Dim lbnumber As New LinkButton
lbnumber.Text = i.ToString
lbnumber.CommandArgument = i.ToString
lbnumber.CommandName = "Number"
container.controls.Add(lnnumber)

Next i

Dim lbnext As New LinkButton
lbnext.Text = ">"
lbnext.CommandName = "Next"
container.Controls.Add(lbnext)

Dim lblast As New LinkButton
lblast.Text = "»"
lblast.CommandName = "Last"
container.Controls.Add(lblast)

End Sub ' InstantiateIn

#End Region ' Implementation

#Region "Controls Events"

#End Region ' Controls Events

End Class ' PagerTemplate
 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Extending DataPager shapper Microsoft ASP .NET 1 17th Mar 2008 07:49 PM
DataPager shapper Microsoft ASP .NET 1 13th Mar 2008 01:52 PM
DataPager. Could someone, please, help me implementing this? shapper Microsoft ASP .NET 0 2nd Mar 2008 02:09 PM
Custom DataPager. How? shapper Microsoft ASP .NET 1 24th Feb 2008 02:42 AM
BUG: New ASP.NET 3.5 DataPager control. shapper Microsoft ASP .NET 0 26th Nov 2007 11:37 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 02:53 AM.