Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Totale Colonna DataGrid in VB.Net

    Ho creato un datagrid che mi visualizza i dati di un database sql impostando determinate selezioni. Ho bisogno di inserire però un campo tipo un totale di pagina che mi riporti la somma degli importi di una determinata colonna del datagrid. Il codice per compilare il datagrid è il seguente

    codice:
          
    Public Function RecuperaOrdini() As Boolean
            Dim oConn As New SqlConnection(Session("ConnProvStr"))
            Dim oComm As New SqlCommand()
            Dim oSQLDataAdapter As SqlDataAdapter
    
            'Preparo gli oggetti sql per il recupero dei campi
            oComm.Connection = oConn
            oComm.CommandType = CommandType.Text
            oComm.CommandText = "SET DATEFORMAT dmy SELECT * FROM OrdiniOnLine WHERE DataOrd BETWEEN '" & daData.Text + "' AND '" & aData.Text + "' ORDER BY DataOrd"
    
            'Apro la connessione
            oConn.Open()
    
            'Preparo SQL data adapter
            oSQLDataAdapter = New SqlDataAdapter()
            oSQLDataAdapter.TableMappings.Add("Table", "OrdiniOnLine")
            oSQLDataAdapter.SelectCommand = oComm
    
            'inizializzo il dataset per le righe degli ordini
            dsOrdiniSel = New DataSet("OrdiniOnLine")
            oSQLDataAdapter.Fill(dsOrdiniSel)
    
            'preparo la vista ordinata
            Dim dvOrdOnLine As DataView
            dvOrdOnLine = New DataView(dsOrdiniSel.Tables("OrdiniOnLine"))
            dvOrdOnLine.Sort = viewstate("sortexpression") & viewstate("sortdirection")
            dgOrdiniSel.DataSource = dvOrdOnLine
            dgOrdiniSel.DataBind()
            'close connection
            oConn.Close()
            Return True
        End Function
    Posso utilizzare anche la proprietà showfooter del datagrid?

  2. #2

    Somma su datagrid

    Potresti fare una query per la somma nella stessa funzione

    codice:
    Dim sSql as string = "SELECT SUM(<Prezzo>) FROM OrdiniOnLine WHERE DataOrd BETWEEN '" & daData.Text + "' AND '" & aData.Text + "' ORDER BY DataOrd""
    
            Dim objConn As New SqlClient.SqlConnection(sConn)
            Dim objCommand As New SqlClient.SqlCommand(sSql, objConn)
    
            objConn.Open()         Context.Items.Add("Totale",objCommand.ExecuteScalar())
    
    objConn.Close()
    nella pagina invece inserisci questo nella colonna del datagrid

    <asp:TemplateColumn>

    <ItemTemplate>
    ..........
    </ItemTemplate>
    <FooterTemplate> <U>Totale:</U><%# Context.Items("Totale")%>
    </FooterTemplate>
    </asp:TemplateColumn>

  3. #3
    Ho fatto come mi hai detto tu per la select il problema è che quando cerco di inserire la parte del FooterTemplate mi dice che lo schema attivo non supporta l'elemento FooterTemplate. Ho sbagliato qualcosa?
    Nel generatore di proprietà del datagrid ho messo il flag mostra piè di pagina devo impostare qualcos'altro.Sto impazzendo
    Grazie

  4. #4
    Imposta ShowFooter="true" nel datagrid

    <aspataGrid id="dtgRichiesta" runat="server" EnableViewState=False BorderWidth=0 Width=100% ShowFooter="true" ShowHeader="true" AutoGenerateColumns=False CellPadding=1 CellSpacing=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 © 2026 vBulletin Solutions, Inc. All rights reserved.