datalist or repeater paging

Last post 05-14-2008 9:04 AM by dummies22. 22 replies.

Sort Posts:

  • datalist or repeater paging

    05-08-2008, 4:28 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    default.aspx.vb

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

            LoadDataList()

        End Sub

        Private Sub LoadDataList()
            Dim objDI As New IO.DirectoryInfo("C:\TestingAjaxSite\images\")
            Me.dlImages.DataSource = objDI.GetFiles()
            Me.dlImages.DataBind()
        End Sub

    default.aspx
    <asp:repeater ID="dlImages" runat="server" >
                 <ItemTemplate>      
                    <img src='<%# DataBinder.Eval(Container.DataItem,"FullName") %>' height="50" width="50" />
                 </ItemTemplate>
            </asp:repeater>  

    questions is how do i allow paging on this. thank you in advance.

  • Re: datalist or repeater paging

    05-08-2008, 5:38 PM

    Hello,

    I'v seen this question 3 times this month. Check the following article

    Adding Paging Support to the Repeater or DataList with the PagedDataSource Class

     

    Regards 

  • Re: datalist or repeater paging

    05-09-2008, 11:57 AM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    this article is using sqladapter how do i do mine without the sqladapter? im calling files from a directory folder

  • Re: datalist or repeater paging

    05-09-2008, 12:55 PM

     Hello,

    No, it is not using that and this is the best way of doing paging.

     

    Regards

  • Re: datalist or repeater paging

    05-09-2008, 1:05 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    ok so i finally got it to this. but when i click next it doesn't to to next page or even when click previous nothing happen. the pictures showed up on the repeater but it just doesn't go to the next page. please help me

    Imports System.IO

    Partial Class _Default

    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If Not Page.IsPostBack Then

    'ViewState("Start") = 0

    LoadDataList()

    End If

    End Sub

    Private Sub LoadDataList()

    Dim objDI As New IO.DirectoryInfo("C:\TestingAjaxSite\images\")

    Dim objPds As New PagedDataSource

    objPds.DataSource = objDI.GetFiles

    objPds.AllowPaging = True

    objPds.PageSize = 4

    PageNumber = currentpage()

    objPds.CurrentPageIndex = PageNumber

    Me.dlImages.DataSource = objPds Me.dlImages.DataBind()

    If objPds.IsFirstPage Then

    Me.cmdNext.Enabled = True

    ElseIf objPds.IsLastPage = True Then

    Me.cmdPrev.Enabled = True

    Else

    Me.cmdPrev.Enabled = True

    Me.cmdNext.Enabled = True

    End If

    End Sub

    Dim PageNumber As Integer

    Public Function currentpage() As Integer

    Dim obj As New Object

    obj = Me.ViewState("_CurrentPage")

    If obj Is DBNull.Value Then

    Return 0

    Else

    Return obj

    End If

    End Function

     

    Protected Sub cmdPrev_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdPrev.Click

    PageNumber -= 1

    LoadDataList()

    End Sub

    Protected Sub cmdNext_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdNext.Click

    PageNumber += 1

    LoadDataList()

    End Sub

    End Class

  • Re: datalist or repeater paging

    05-09-2008, 1:27 PM

    You have to save page numbers inside a viewstate not variable as you did because it will be lost after postback. In both buttons events handlers use this

      

    'Button next
    ViewState("_CurrentPage") = CInt(ViewState("_CurrentPage")) + 1
    
    /Button previous
    ViewState("_CurrentPage") = CInt(ViewState("_CurrentPage")) - 1
     

    Regards 

  • Re: datalist or repeater paging

    05-09-2008, 1:31 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    thank you that helped. but now the page keep doing post back is there a way i could apply ajax or something else to make it not post back?

  • Re: datalist or repeater paging

    05-09-2008, 1:36 PM

    Yes sure, a faster wayto do that is to place everything inside the updatepanel. 

  • Re: datalist or repeater paging

    05-09-2008, 1:45 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    thank you you are so helpful. appreciate alot.

  • Re: datalist or repeater paging

    05-09-2008, 1:47 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    so now that is working. the next step is when i click on item1 from repeater, it will display that item on the slideshow and continue on to the next item. i might have question with that later. is it ok to ask you?

  • Re: datalist or repeater paging

    05-09-2008, 1:57 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    i originally have

    <img src='<%# DataBinder.Eval(Container.DataItem, "FullName") %>' height="50" width="50" />

    and this works fine but when i change it to asp:image like the line below, it doesn't display the image . the reason why i want to do that is because i want to be able to click on the image so that i could pass the the value to the slideshow to display that item on the repeater.

    <asp:image runat="server" ID="text"  imageurl='<%# DataBinder.Eval(Container.DataItem, "FullName") %>' height="50" width="50" />

    help me please. thanks.

  • Re: datalist or repeater paging

    05-09-2008, 3:20 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    i got it

    <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# "~/images/" & DataBinder.Eval(Container.DataItem, "Name")%>' Width="50" Height="50" />

  • Re: datalist or repeater paging

    05-09-2008, 3:45 PM

    Sorry i was away when you posted the request above. Anyway, i'm glad to see that working for you.

    Let me know if you need further help.

     

    Regards
     

  • Re: datalist or repeater paging

    05-09-2008, 3:54 PM
    • Loading...
    • dummies22
    • Joined on 05-08-2008, 10:14 AM
    • Posts 26

    i do actually

    i have this code here that display image in a repeater and now what i want to do is when i click on it i want it to pass me the picture name or something like that. so what value do i need to do here to achieve that?


    <asp:Repeater ID="dlImages" runat="server">
                                <ItemTemplate>
                                   <asp:ImageButton ID="ImageButton1" runat="server"
                                        ImageUrl='<%# "~/images/" & DataBinder.Eval(Container.DataItem, "Name")%>' Width="50" Height="50" />
                                </ItemTemplate>
                        </asp:Repeater>


    Protected Sub dlImages_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles dlImages.ItemCommand
            what should be in here and what other attributes do i need for the imagebutton?
        End Sub

    please help me. thanks

  • Re: datalist or repeater paging

    05-09-2008, 4:15 PM

     Yes, this can be done easily

    HTML
     

    <asp:ImageButton ID="ImageButton1" runat="server"
    ImageUrl='<%# "~/images/" & DataBinder.Eval(Container.DataItem, "Name")%>'
    Width="50" Height="50" CommandName="ShowMe" 
    CommandArgument='<%#DataBinder.Eval(Container.DataItem, "Name")%>' />
      

    Code Behind

      

    Protected Sub dlImages_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles dlImages.ItemCommand
    If e.CommandName.ToString() = "ShowMe" Then
    
    ' do something
    Response.Write(e.CommandArgument.ToString())
    
    
    End If
    End Sub