Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Creare un DataSet per paginare un datagrid

    Ciao a tutti,
    ho un problema per la creazione di un datagrid. Creando il popolamento nel file vb non posso usare il comodo tool che lo fa da solo.
    Ora però devo creare un dataSet e riempire il datagrid con il medesimo.
    ma come si fa? Non so farlo e devo fare questa modifica urgentemente quindi non ho il tempo necessario epr leggere apprendere e mettere in pratica.

    Questo è il mio codice:
    codice:
    strsql = "SELECT idagenzie, codice, email FROM Agenzie"
                cmdSql = New MySqlCommand(strsql, conn)
                rs = cmdSql.ExecuteReader()
                lstAgenzie.DataSource = rs
                lstAgenzie.DataBind()
                rs.Close()
    Ora come creo il DataSet e dico al Gridview (lstAgenzie) che deve leggere dal dataset?

    Grazie a tutti.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Un po' a memoria, dovrebbe essere:
    codice:
         
            Dim SqlConn As SqlConnection
            Dim Adapter As SqlDataAdapter
            Dim DS As DataSet 
    .
            SqlConn = New SqlConnection(ConfigurationManager.ConnectionStrings("nomeStringaConnessione").ConnectionString)
            
            Try
               SqlConn.Open()
               Adapter = New SqlDataAdapter("SELECT idagenzie, codice, email FROM Agenzie", SqlConn)
               DS = New DataSet
               Adapter.Fill(DS, "NomeDataTable")
            Catch ex As SqlException
                    Throw ex
            Finally
                    SqlConn.Close()
            End Try
    e poi

    codice:
    lstAgenzie.DataSource = DS
    lstAgenzie.DataBind()
    Ma ti ricordo, è sconsigliato passare una query come stringa. In questo caso la query è semplice, ma dovresti avere una Stored Procedure (e la procedura cambia leggermente).

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Purtroppo nn posso usare le store procedure.
    E la query è lunghetta. Come potrei risolvere?

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    con uno stringbuilder, per ora

    codice:
                Dim SB As New System.Text.StringBuilder
                SB.Append("SELECT ....")
                SB.Append(" FROM..")
                etc.
                Dim Query As String = SB.ToString

  5. #5
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Ok grazie :-).
    Alla fine sarebbe una specie di concatenazione.

    Poi una volta fatto questo, ho visto che ancora non riesco a gestire la paginazione con il gridview, mi dice:
    System.Web.HttpException: L'evento PageIndexChanging generato dal GridView 'lstAgenzie' non gestito.

    Come devo gestirlo?

  6. #6
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da mexican
    Ok grazie :-).
    Alla fine sarebbe una specie di concatenazione.

    Poi una volta fatto questo, ho visto che ancora non riesco a gestire la paginazione con il gridview, mi dice:
    System.Web.HttpException: L'evento PageIndexChanging generato dal GridView 'lstAgenzie' non gestito.

    Come devo gestirlo?
    Ho fatto così:

    codice:
    Protected Sub lstAgenzie_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs) Handles lstAgenzie.PageIndexChanging
            lstAgenzie.PageIndex = e.NewPageIndex
            lstAgenzie.DataBind()
        End Sub
    ma non funziona.

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    codice:
     
        Protected Sub GridView_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView.PageIndexChanging
            GridView.PageIndex = e.NewPageIndex
            GridView.DataBind()
        End Sub
    e nelle proprieta' della Grid, nell'aspx > AllowPaging="True"

  8. #8
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Originariamente inviato da djciko
    codice:
     
        Protected Sub GridView_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView.PageIndexChanging
            GridView.PageIndex = e.NewPageIndex
            GridView.DataBind()
        End Sub
    e nelle proprieta' della Grid, nell'aspx > AllowPaging="True"
    Grazie gentilissimo!!!
    Approfitto... mica sai un link con un tutorial che spiega bene poi come personalizzare la paginazione?
    Che ora che ho risolto ho il tempo per approfondire la questione.

    Grazie

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.