134 messaggi dal 01 novembre 2012
Buonasera,

al DGV, ho inserito tre colonne: (Voce, Tabella 1 e Tabella 2) e 3 TextBox.

Gradirei che al DGV, tramite un button, siano inserite sulla colonna "Voce" le voci dalle TextBox ed all'ultima riga dovrebbe essere inserita una voce "Completo".
Mi scuso per la richiesta che potrebbe essere banale, ringrazio anticipatamente, saluto.
Domenico.
193 messaggi dal 12 febbraio 2016
Pacifico437 ha scritto:
Buonasera,

al DGV, ho inserito tre colonne: (Voce, Tabella 1 e Tabella 2) e 3 TextBox.



Ciao Domenico, ma cosa intende per DGV?
Parliamo di aspnet core?
134 messaggi dal 01 novembre 2012
Gent.mo Piero92,

ringrazio della disponibilità e tempestività e mi scuso che non sono stato chiaro.

Intendo DataGridView.

Domenico.
134 messaggi dal 01 novembre 2012
Buongiorno,

ho risolto il problema come popolare la colonna del DataGridView e l'inserimento di una voce all'ultima riga.
Gradirei risolvere il problema somma; inserendo sulla colonna del DataGridView valori numerici, effettuare la somma sempre all'ultima riga.
Ringrazio per l'aiuto, saluto.
Domenico.
193 messaggi dal 12 febbraio 2016
Innanzitutto potresti utilizzare un controllo Repeater,
il controllo DataGridView è abbastanza obsoleto (mi sembra già dalla versione 3.5 del fx).
Qui trovi un esempio su come calcolare la somma di tutte le row in un controllo Repeater.

Suggerisco il controllo Repeater perché innanzitutto rispetto al controllo DataGridView è più recente, non produce un suo codice html (ma riproduce fedelmente quello che utilizzi te nella view (aspx) e ha dei controlli figli (Header, item, footer, ecc) molto comodi a poter fare cose mirate a controllo figlio.

Se hai difficolta chiedi pure,
ciao
134 messaggi dal 01 novembre 2012
Gent.mo piero92,

ringrazio della gentilezza e disponibilità.

Al momento trovo difficoltà ad utilizzare il nuovo controllo che ora vengo a conoscenza.
E' un programma già ultimato e mi serve solo fare le somme alle varie colonne del DataGridView che al momento non riesco.
Faresti cosa grata se mi fornisci il codice.
Ringrazio ed auguro un buon proseguimento.
Domenico.
193 messaggi dal 12 febbraio 2016
In realtà il controllo Repeater è più semplice da utilizzare, anche perchè il codice è uguale al 90%.

Comunque, per aggiungere il footer alla DataGridView ti basta seguire questi passaggi:
  • Aggiungi alla DataGridView ShowFooter="true"
  • Aggiungi un TemplateColumn (o puoi benissimo convertire un BoundColumn in TemplateColumn senza aggiungere una nuova colonna, ti scrivo un esempio:
     <asp:TemplateColumn>
            <HeaderTemplate>
                HeaderTemplate
            </HeaderTemplate>
            <ItemTemplate>
                <%# Eval("ColonnaTabellaDB") %>
            </ItemTemplate>
            <FooterTemplate>
                <asp:TextBox runat="server" ID="Tb1"></asp:TextBox>
            </FooterTemplate>
        </asp:TemplateColumn>
    

  • Aggiungi alla DataGridView l'evento OnItemDataBound
  • Gestisci nel code behind l'evento OnItemDataBound, ad esempio;
    protected void Grid_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            decimal somma = 20.50m;
            TextBox TbSomma;
            switch (e.Item.ItemType)
            {
                case ListItemType.Footer:
                    TbSomma = e.Item.FindControl("Tb1") as TextBox;
                    TbSomma.Text = somma.ToString("C");
                    break;
            }
        }
    


Ovvio però che se ci fornisci maggiori informazioni su come calcoli la somma potremo aiutarti maggiormente.
Tienici aggiornati,
ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.