Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584

    impaginare datagrid(va bene come metodo?)

    salve a tutti
    sto modificando del codice scritto da un'altro programmatore
    lui usa i datagrid ,mentre io in genere uso i repeater, ed ora mi sto trovando a che fare con l'impaginazione..
    vorrei spere da voi se questo metodo di impaginazione va bene oppure potrei usare un'altro modo piu' performante..in quanto fa rimanere il dataset in memoria per tutto il temp
    grazie
    ecco il codice

    prima dichiara una dataset nella generale:
    codice:
     
     Dim querydataset As DataSet = New DataSet
    che riempie il dagagrid e valorizza una variabile di sessione con il dataset
    codice:
    'codice sql omesso..............
     Dim query As OleDbDataAdapter = New OleDbDataAdapter(strsql, conn)
            ' creo il dataset 
            Dim querydataset As Data.DataSet = New Data.DataSet
            ' databinding 
            query.Fill(querydataset)
            DG.DataSource = querydataset
            Session("DS") = querydataset
            DG.DataBind()
    nel form_load mano a mano valorizza la il dataset se oppure carica la griglia(codice sopra per vedere come carica la griglia)
    codice:
     If Page.IsPostBack = False Then
                Call CaricaGriglia()
            Else
                querydataset = Session("DS")
            End If
    se poi man man che l'utente spinge i vari numeri nel datagrid lo fa scorrere prendendo lì'indice
    [code]
    Private Sub DG_Risultati_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEvent Args) Handles DG_Risultati.PageIndexChanged
    DG_Risultati.CurrentPageIndex = e.NewPageIndex
    DG_Risultati.DataSource = querydataset
    DG_Risultati.DataBind()
    End Sub[code]

    secondo voi è valido? oppure occupa troppa ram in quanto il server si ritrova con tanti dataset ogni utente che entra?
    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    Meglio usare una semplice datatable al posto di un piu' pesante dataset.
    In vb.net non si usa piu' Call nomesub ma si usa direttamente nomesub.
    Meglio sarebbe a design time impostare la datasource collegandola ad una property o funzione che ritorna una datatable (o dataview) e poi chiamare semplicemente dg.databind invece di mettere nel pageload if questo o if quello. Nella property che restituisce i dati, se la var di sessione e' = a nothing allora la carichi da db altrimenti restituisci la var di sessione (in aggiunta si puo' fare anche una funzione loadDatasource che ricarica i dati quando serve es. dopo un aggiornamento).
    oppure occupa troppa ram in quanto il server si ritrova con tanti dataset ogni utente che entra?
    Se i dati sono gli stessi per tutti gli utenti, il posto migliore dove caricarli non e' la session ma la cache.
    Saluti a tutti
    Riccardo

  3. #3

  4. #4
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    Originariamente inviato da riccardone
    Meglio usare una semplice datatable al posto di un piu' pesante dataset.
    In vb.net non si usa piu' Call nomesub ma si usa direttamente nomesub.
    Meglio sarebbe a design time impostare la datasource collegandola ad una property o funzione che ritorna una datatable (o dataview) e poi chiamare semplicemente dg.databind invece di mettere nel pageload if questo o if quello. Nella property che restituisce i dati, se la var di sessione e' = a nothing allora la carichi da db altrimenti restituisci la var di sessione (in aggiunta si puo' fare anche una funzione loadDatasource che ricarica i dati quando serve es. dopo un aggiornamento).

    Se i dati sono gli stessi per tutti gli utenti, il posto migliore dove caricarli non e' la session ma la cache.
    ehm.ok allora vediamo un po' di far chiarezza :master:
    1)usare la call in net nn mi ha mai dato errore, anzi lo trovo intuitivo per comprendere il codice. ma se me lo sconsigli,potrei valutare la tua proposta
    2) come potrei salvare i dati nella cache?

    grazie
    per il repeater..beh ora sto studiando questo modo...
    per il datasource ad una property..beh.si ma ora sto riflettendo

    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  5. #5
    Originariamente inviato da Kahm
    1)usare la call in net nn mi ha mai dato errore, anzi lo trovo intuitivo per comprendere il codice. ma se me lo sconsigli,potrei valutare la tua proposta
    Si usava prima di .net. Chiama le sub direttamente senza usare call.
    2) come potrei salvare i dati nella cache?
    nello stesso modo di come li salvi nella session
    codice:
    cache("nomechevuoi") = tuoidati
    Saluti a tutti
    Riccardo

  6. #6
    Originariamente inviato da pietro09
    Non so se ti sia utile:
    http://www.aspitalia.com/script/445/...-Repeater.aspx

    se serve tradotto in c# ditemelo che gia ce l'ho bello che pronto

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.