Visualizzazione dei risultati da 1 a 6 su 6

Discussione: paginare datalist

  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    paginare datalist

    Ciao a tutti io ho questo datalist:

    codice:
    <asp:DataList ID="cataudio" runat="server" HorizontalAlign="Center" RepeatColumns="3" Width="440px" CellSpacing="2" DataKeyField="id_categoria" RepeatDirection="Horizontal" >
            <ItemTemplate>
                    <table width="140">
                        <tr>
                            <td width="140" height="140"><div align="center">[img]<%#Container.DataItem([/img]<%#Container.DataItem("foto_small")%>" /></div></td>
                        </tr>
                        <tr>
                            <td><div align="center">?id_categoria=<%#Container.DataItem("id_categoria")%>"><%#Container.DataItem("titolo")%></div></td>
                        </tr>
                    </table>
                </ItemTemplate>
            </asp:DataList>
    Che richiamo così:

    codice:
    strsql = "Select * From CategorieGallery order by titolo"
                    cmdSql = New OleDbCommand(strsql, conn)
                    rs = cmdSql.ExecuteReader()
                    cataudio.DataSource = rs
                    cataudio.DataBind()
                    rs.Close()
    Ora io vorrei creare una paginazione in modo da avere 3 righe e quindi 9 record per pagina come posso fare? Ho letto alcuni esempi ma se uso quel codice mi dice che non va bene.

  2. #2
    Prova a cercare su google PagedDataSource,
    dovrebbe essere il componente che stai cercando.

    E' semplice da usare.
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da simo
    Prova a cercare su google PagedDataSource,
    dovrebbe essere il componente che stai cercando.

    E' semplice da usare.
    l'ho visto ma non ci capisco molto.

  4. #4
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da mexican
    l'ho visto ma non ci capisco molto.
    allora ecco cosa ho fatto:

    codice:
    If Request.QueryString("categoria") = "Foto" Then
                        strsql = "Select * From CategorieGallery order by titolo"
                    End If
                    cmdSql = New OleDbCommand(strsql, conn)
                    rs = cmdSql.ExecuteReader()
                    cataudio.DataSource = rs
                    pagedData.DataSource = rs
                    pagedData.AllowPaging = True
                    pagedData.PageSize = 9
                    'rendiamo visibili o invisibili I bottoni “avanti” “indietro” a seconda della ‘//situazione
                    btnPrev.Visible = (Not pagedData.IsFirstPage)
                    btnNext.Visible = (Not pagedData.IsLastPage)
                    'contiamo I record e le pagine
                    pageNumber.Text = (pagedData.CurrentPageIndex + 1) & " of " & pagedData.PageCount
                    'colleghiamo la sorgente dati al datalist
                    cataudio.DataBind()
                    rs.Close()
    però mi da questo errore:

    i è verificato il seguente errore: Impossibile calcolare il valore di Count per un'origine dati che non implementa ICollection.

    dove sbaglio?

  5. #5
    il primo "errore" che vedo è che devi assegnare al pageddatasource il valore di rs:
    codice:
    pagedData.DataSource = rs
    e poi successivamente devi asseggnare a cataudio, pagedData come datasource
    codice:
    cataudio.DataSource = pagedData
    Visual Basic e Dintorni
    Blog sullo sviluppo Web in generale

  6. #6
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Sempre: Si è verificato il seguente errore: Impossibile calcolare il valore di Count per un'origine dati che non implementa ICollection.

    Ecco il Codice:

    codice:
    strsql = "Select * From CategorieGallery order by titolo"
                    cmdSql = New OleDbCommand(strsql, conn)
                    rs = cmdSql.ExecuteReader()
                    pagedData.DataSource = rs
                    pagedData.AllowPaging = True
                    pagedData.PageSize = 9
                    'rendiamo visibili o invisibili I bottoni “avanti” “indietro” a seconda della ‘//situazione
                    btnPrev.Visible = (Not pagedData.IsFirstPage)
                    btnNext.Visible = (Not pagedData.IsLastPage)
                    'contiamo I record e le pagine
                    pageNumber.Text = (pagedData.CurrentPageIndex + 1) & " of " & pagedData.PageCount
                    'colleghiamo la sorgente dati al datalist
                    cataudio.DataSource = pagedData
                    cataudio.DataBind()
                    rs.Close()

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.