Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857

    Paginazione di gridview

    Ho un problema con un gridview paginato: cliccando i numeri di pagina nel paginatore a piè del gridview non si aggiornano i dati nel gridview...
    Il paginatore carica il numero di pagine corrette e crea i relativi link: cliccandoli la pagina fa un postback (in realtà accade tutto in un updatepanel), il numero cliccato si evidenzia ma i dati mostrati restano quelli della pagina 1 (i dati vengono caricati da codebehind dopo la selezione di una informazione da una dropdownlist)
    ???

    codice:
    <asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="selected" 
                        DataKeyNames="op_ID,an_conto,miadefcliente" 
                         AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" 
                        CssClass="table table-striped" BackColor="White"
    EnableSortingAndPagingCallbacks="true">
                        <PagerStyle cssclass="pagination-ys" />
                        <Columns>....
    Ultima modifica di supermac; 22-06-2017 a 16:27
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  2. #2
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    Per la cronaca, vedo che non funziona neanche l'ordinamento cliccando sui nomi di colonna...
    WTF?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #3
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    Il buon Firebug mi fa notare che

    Error: Sys.WebForms.PageRequestManagerServerErrorExceptio n: L'evento Sorting generato dal GridView 'GridView1' non gestito.








    Error: Sys.WebForms.PageRequestManagerServerErrorExceptio n: L'evento PageIndexChanging generato dal GridView 'GridView1' non gestito.

    Io non ho mai gestito questi eventi in un gridview, ha sempre fatto tutto da solo... cosa dovrei dirgli di fare?
    ri-WTF?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #4
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    ma è normale che debba ribindare il gridview ai dati ad ogni pageIndexChanging del paginatore???
    Così funziona ma mi pare assurdo....
    E per l'ordinamento dei dati sulle colonne???
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    si, devi rifare il bind.


    codice:
    protected void GRID_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
      BindGrid(); // metodo con la query ed il primo bind 
      GRID.PageIndex = e.NewPageIndex;
      GRID.DataBind();
    }

  6. #6
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    thx
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #7
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    Altra cosa, è furbo che mi metta il datatable da bindare in una session in modo da non dover rifare l'interrogazione al db ad ogni postback o è inutile?
    In questa pagina ho solo una gridview popolata da codebehind ma in un'altra che devo fare avrò gridview e 3 o 4 dropdown per i filtri da popolare con lo stesso sistema... mi conviene fare un po' di session anche lì?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Quote Originariamente inviata da supermac Visualizza il messaggio
    Altra cosa, è furbo che mi metta il datatable da bindare in una session in modo da non dover rifare l'interrogazione al db ad ogni postback o è inutile?
    In questa pagina ho solo una gridview popolata da codebehind ma in un'altra che devo fare avrò gridview e 3 o 4 dropdown per i filtri da popolare con lo stesso sistema... mi conviene fare un po' di session anche lì?
    Non te lo consiglio ,
    Pietro

  9. #9
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    e' la stessa tecnica per il Sorting, devi rifare la query con la colonna scelta

    e.SortExpression (da usare nell'evento NomeGrid_Sorting) contiene il nome della colonna
    e.SortDirection contiene crescente o decrescente

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    nota che il primo bind ovviamente puo' avvenire in altri eventi della pagina.

    riguardo il conservare il datasource in sessione, si, e' una cosa che trovi in molti esempi, ma un oggetto cosi' corposo come un DataTable nella Session e' abbastanza pericoloso.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.