Visualizzazione dei risultati da 1 a 7 su 7

Discussione: trovare record

  1. #1

    trovare record

    Eseguendo la paginazione, è possibile trovare la pagina contenente un determinato record?

  2. #2

  3. #3
    ho un datagrid con 200 record visualizzati.
    voglio trovre il record n° 137 e sapere in che pagina sia.
    Poichè in un'altra pagina ho solo l'id numerico del record da trovare e non so quante pagine ho devo ricavare la pagina del record per linkarla direttamente.

  4. #4
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    com'è ke non sai quante pagine hai???
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  5. #5
    avendo un numero di record variabile (molto variabile) non posso sapere a priori quante pagine ho.
    Lo posso sapee se eseguo un paio di comandi sulla query dei dati.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    codice:
    Dim i, PosRecord, PaginaDaVisualizzare as Integer
    Dim IDRicerca as Integer
    IDRicerca = 137 'poniamo che cerchi il record con ID 137
    
    For i = 0 to MyTable.Rows.Count - 1 'MyTable è il datasource del datagrid
       If MyTable.Rows(i)("Nome_Campo_Con_ID") = IDRicerca Then
          Exit For
       End If
    Next i
    PosRecord = i
    'a questo punto hai salvato in "i" la osizione del record
    
    Dim PaginaDaVedere as Integer
    
    For i = 0 To TuoDtg.PageCount - 1 'TuoDtg è il tuo datagrid
       If (TuoDtg.PageSize * (i + 1)) >= PosRecord And (TuoDtg.PageSize * (i)) <= PosRecord Then
          Exit For
       End If
    Next i
    
    PaginaDaVisualizzare = i
    Dovrebbe funzionare

    Hey hey, my my Rock and roll can never die!

  7. #7
    nel tuo codice ho aggiunto questa roba e non riesco a farlo andare.

    codice:
        Public Function getPage(ByVal idPostPager As String)
            Dim myconn As New OleDbConnection(ConfigurationSettings.AppSettings("dbForum"))
            Dim sqlStr As New loadSql()
            myconn.Open()
            Dim mycomm As New OleDbDataAdapter(sqlStr.setParams(idPostPager, "selPostForTopicPage"), myconn)
            Dim tab As DataSet = New DataSet()
            Dim firstPost As Integer = (CInt(1) - 1) * (maxPostPerPage)
            mycomm.Fill(tab, firstPost, maxPostPerPage, "tabDati")
            Dim listaPost As New DataGrid()
    
            listaPost.PageSize = maxPostPerPage
            listaPost.DataSource = tab
            listaPost.DataBind()
    
            Dim i, PosRecord, PaginaDaVisualizzare As Integer
            Dim IDRicerca As String
            IDRicerca = idPostPager 'poniamo che cerchi il record con ID 137
    
            For i = 0 To tab.Tables(0).Rows.Count - 1 'MyTable è il datasource del datagrid
                If tab.Tables(0).Rows(i)("tabPost.idPost") = IDRicerca Then
                    Exit For
                End If
            Next i
            PosRecord = i
            'a questo punto hai salvato in "i" la osizione del record
    
            Dim PaginaDaVedere As Integer
    
            For i = 0 To listaPost.PageCount - 1 'TuoDtg è il tuo datagrid
                If (listaPost.PageSize * (i + 1)) >= PosRecord And (listaPost.PageSize * (i)) <= PosRecord Then
                    Exit For
                End If
            Next i
            PaginaDaVisualizzare = i
    
            mycomm.Dispose()
            myconn.Dispose()
            myconn.Close()
            Return (PaginaDaVisualizzare)
        End Function
    in pratica devo creare un dataGrid ogni volta che eseguo la funzione perchè nella pagina che la richiama, il datagrid non c'è.
    Trova sempre la pagina 0.

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.