Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: datagrid

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127

    datagrid

    Valore di CurrentPageIndex non valido. Deve essere maggiore o uguale a zero e minore di PageCount.

    mi viene questo errore quando cambio la pagina ..

    la sub x cambiare la pagina è

    Sub cambiaPag(s As Object, e As DataGridPageChangedEventArgs)
    dg1.CurrentPageIndex = e.NewPageIndex
    DataBind1
    End Sub
    Sub DataBind1
    ' ...
    dg1.DataSource = ds.Tables("prova1")
    dg1.DataBind() 'l'errore è su questa riga!!
    '...
    End Sub

    strano .. nn capisco xkè!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    forse nn mi sono spiegato bene ..
    ho un datagrid ke visualizza 5 righe alla volta, poi sotto c'è 1 2 3 4 .. link ke portano alle pagine x visualizzare le righe da 6a 10, da 11 a 15 ecc..

    quando cambio pagina (=clicco su 1 2 3 4) mmi da l'errore

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    up

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482

    Re: datagrid

    codice:
    Sub cambiaPag(s As Object, e As DataGridPageChangedEventArgs)
         DataBind1 ' devi bindare il controllo prima di impostare la pagina
         dg1.CurrentPageIndex = e.NewPageIndex
    End Sub

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    no .. mi sa ke ti sbagli .. in tutti gli esempi ke ho visto bindo dopo avergli detto la pagina .. e poi anke bindando prima nn va

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    up

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Scusa ho sbagliato.

    codice:
    Sub cambiaPag(s As Object, e As DataGridPageChangedEventArgs) 
    dg1.CurrentPageIndex = e.NewPageIndex 
    DataBind1 
    End Sub 
    Sub DataBind1 
    ' ... 'dovresti postare quello che manca quà
    dg1.DataSource = ds.Tables("prova1") 
    dg1.DataBind() 'l'errore è su questa riga!! 
    '... 
    End Sub

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    leggo con xmldoc un file xml

    codice:
    Dim ds As New DataSet()
    Dim xmldoc as new XmlDataDocument()
    xmldoc.Load(Server.MapPath("file.xml"))
    Dim stringaXML As String
    Dim nodo As XmlNode 
    Dim lista as XMLNodeList
    
    lista = xmldoc.SelectNodes("root/prova1")
    for each nodo in lista
    stringaXML = nodo.outerXML
    ds.ReadXML(new StringReader(stringaXML))
    dg1.DataSource = ds.Tables("prova1") 
    dg1.DataBind()
    Next
    grazie

  9. #9
    Io farei così... il codice è in C# spero che per te sia uguale.

    Supponiamo che il file XML sia del tipo...

    <root>
    <item>
    <titolo>titolo 1</titolo>
    <descr>descrizione 1</descr>
    </item>
    <item>
    <titolo>titolo 2</titolo>
    <descr>descrizione 2</descr>
    </item>
    <item>
    <titolo>titolo 3</titolo>
    <descr>descrizione 3</descr>
    </item>
    </root>

    Sul property Builder del DataGrid imposti titolo e descr come colonne "Bound Column"

    Sul caricamento della pagiona...

    if (!IsPostBack)
    {
    DataSet ds = new DataSet();
    ds.ReadXml("c:/temp/prova.xml");
    dg.DataSource = ds.Tables["item"].DefaultView;
    dg.DataBind();
    }

    Sul cambio dell'indice della pagina del DdtaGrid...

    private void dg_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEvent Args e)
    {
    dg.CurrentPageIndex=e.NewPageIndex;
    DataSet ds = new DataSet();
    ds.ReadXml("c:/temp/prova.xml");
    dg.DataSource = ds.Tables["item"].DefaultView;
    dg.DataBind();
    }

    Meglio ancora potresti persistere il Dataset scegliendo tra ViewState, Session e Cache in modo da non dover ricaricare il file ad ogni postback se non è necessario!

    Ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    praticamente mi stai dicendo di fare copia-incolla della sub DataBind1 in cambiaPag??

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