Visualizzazione dei risultati da 1 a 3 su 3

Discussione: datagrid + subtotali

  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117

    datagrid + subtotali

    ho una tabella di questo tipo

    voce - raggruppamento - valore
    asa - 1 - 1000
    dffd - 3 - 220
    asdf - 1 - 150
    ewr - 2 - 300
    dffd - 3 - 220

    vorrei visualizzare questi dati ordinati per raggruppamento (e fin qui non
    problem), ma ad ogni cambio di raggruppamento vorrei visualizzare un
    subtotale (per la colonna valore) all'interno del Datagrid....

    immagino che sia un casino :-(((

    grazie per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Se fai così hai un totale direttamente nella fonte dati.
    Essendo impossibilitato a provarla con i tuoi campi ti ho fatto una query di esempio con il database northwind:
    codice:
    select * from(
    select
    case grouping(orderid) when 0 then orderid else -1 end as id1,
    case grouping(orderid) when 0 then productid when 1 then  productid  end as id2,
    sum(unitprice) as prezzo
    from [order details]  
    group by productid , orderid with rollup
    )as tabella where not tabella.id2 is null
    La colonna id1 dovrebbe corrispondere alla tua "voce"
    La colonna id2 dovrebbe corrispondere alla tua "raggruppamento"
    La colonna prezzo dovrebbe corrispondere alla tua "valore"

    La prima select usa il risultato della seconda come tabella da interrogare, questo perchè dovevo escludere il totale generale che viene per forza inserito utilizzando questo sistema.
    Nel caso ti servisse togli la prima select.
    Poi nell'itemcreated del datagrid analizzi il valore di id1(che metterai come datakeyfield), se è = a -1 imposti la riga come meglio credi(testo,colore di fondo, colspan ecc.. per distinguerla)
    Sono stato un po' avaro di spiegazioni ma, magari sono argomenti che conosci meglio di me e, invece se non sei pratica ti conviene cercare documentazione per "rollup" oppure "grouping" nei books on line di sql.
    Ciao
    Legnetto

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    Re: datagrid + subtotali

    Originariamente inviato da valeria75
    ho una tabella di questo tipo

    voce - raggruppamento - valore
    asa - 1 - 1000
    dffd - 3 - 220
    asdf - 1 - 150
    ewr - 2 - 300
    dffd - 3 - 220

    vorrei visualizzare questi dati ordinati per raggruppamento (e fin qui non
    problem), ma ad ogni cambio di raggruppamento vorrei visualizzare un
    subtotale (per la colonna valore) all'interno del Datagrid....

    immagino che sia un casino :-(((

    grazie per l'aiuto
    Dunque, dico anch'io la mia giusto perchè l'ho fatto tempo fa.
    Dino Esposito, nel suo libro, "Programmare Microsoft Asp.Net", spiega dettagliatamente come mettere i subtotali in un DataGrid.
    Pur avendo il massimo rispetto per l'Autore, il cui libro è sempre presente sulla scrivania pronto all'uso, io preferisco lasciare certe raffinatezze (leggi uso non apropriato del datagrid) per fare tutto a mano.
    Come?
    Se stiamo parlando di un report con totali e subtotali, parto da Access, mi faccio il report e, quando sono soddisfatto dello stile, passo alla pagina aspx. Uso un repeater, che ritengo molto più flessibile in questo caso.
    Si parte da una query ordinata, si crea un cursore, e si fa la scansione delle righe. Ad ogni riga si sommano i campi che interessano, e si ottiene il progressivo (somma finale). Ad ogni rottura dell'indice si ottiene il subtotale, etc. etc
    Questa tecnica è di base, e funziona con qualunque programma, asp, php, basic, c++, c#, fortran, pascal ... ed i risultati, a mio avviso, sono eccellenti.
    In alternativa, il libro su citato, è una miniera a cielo aperto da sfruttare, l'esempio è ben fatto e si capisce bene e ti assicuro che non è per niente un casino (come dici tu). Buona lettura
    Pietro

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.