Domanda C# visual Studio 2022 moltiplicare una colonna del DGV.

MauroPapa

Bannato
8 Novembre 2023
6
3
3
8
Buongiorno,

sono un nuovo arrivato e gradirei risolvere un problema con la moltiplicazione.
Al DataGridView ho due colonne con intestazione: "Prezzo e Totale" ed una TextBox con evento KeyPress.
Alla colonna "Prezzo", sono inseriti i numeri interi con decimali.
Inserendo alla TextBox un numero intero o intero con decimale dovrebbe effettuare la moltiplicazione dell'intera colonna alla colonna "Totale" ed infine dovrebbe effettuare la somma della relativa colonna.
Ho inserito il seguente codice all'inizio:
Codice:
- CultureInfo culture = new CultureInfo("it-IT");
la difficoltà che incontro è che non riesco a capire dovè l'errore (non fa l'operazione) e gradirei un gradito aiuto.
Ho inserito il seguente codice:
Codice:
foreach (DataGridViewRow row in DataGridView1.Rows)
    if (decimal.TryParse(row.Cells["Prezzo"].Value as string, out decimal TextBox))
       row.Cells[indiceColonnaTotale].Value = (Prezzo * TextBox).ToString("#,##0.00");
Fiducioso di un gradito aiuto e ringraziando anticipatamente, saluto.

Mauro
 
Buongiorno,

sono un nuovo arrivato e gradirei risolvere un problema con la moltiplicazione.
Al DataGridView ho due colonne con intestazione: "Prezzo e Totale" ed una TextBox con evento KeyPress.
Alla colonna "Prezzo", sono inseriti i numeri interi con decimali.
Inserendo alla TextBox un numero intero o intero con decimale dovrebbe effettuare la moltiplicazione dell'intera colonna alla colonna "Totale" ed infine dovrebbe effettuare la somma della relativa colonna.
Ho inserito il seguente codice all'inizio:
Codice:
- CultureInfo culture = new CultureInfo("it-IT");
la difficoltà che incontro è che non riesco a capire dovè l'errore (non fa l'operazione) e gradirei un gradito aiuto.
Ho inserito il seguente codice:
Codice:
foreach (DataGridViewRow row in DataGridView1.Rows)
    if (decimal.TryParse(row.Cells["Prezzo"].Value as string, out decimal TextBox))
       row.Cells[indiceColonnaTotale].Value = (Prezzo * TextBox).ToString("#,##0.00");
Fiducioso di un gradito aiuto e ringraziando anticipatamente, saluto.

Mauro
Ciao,

TextBox cosa sarebbe?
Se riesci a condividere il codice nella sua interezza sarebbe meglio.

Così risulta difficile capire dove possa essere l'errore.
 
Gent.mo Dazorn,

è una semplice TextBox con l'evento KeyPress dove inserisco un valore numerico che dovrebbe moltiplicare con i numeri già inseriti nella colonna del DataGridView riporto il codice completo:

Codice:
CultureInfo culture = new CultureInfo("it-IT");

 private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (e.KeyChar == (char)Keys.Enter)
     {
         if (TextBox.Text.Length == 0)
         {
             TextBox.Focus();
             return;
         }

         foreach (DataGridViewRow row in DataGridView1.Rows)
             if (decimal.TryParse(row.Cells["Prezzo"].Value as string, out decimal TextBox))
                     row.Cells["Totale"].Value = (TextBox * Prezzo).ToString("#,##0.00");
     }
 }

Ringrazio e fiducioso saluto.
Mauro
 
Gent.mo Dazorn,

è una semplice TextBox con l'evento KeyPress dove inserisco un valore numerico che dovrebbe moltiplicare con i numeri già inseriti nella colonna del DataGridView riporto il codice completo:

Codice:
CultureInfo culture = new CultureInfo("it-IT");

 private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (e.KeyChar == (char)Keys.Enter)
     {
         if (TextBox.Text.Length == 0)
         {
             TextBox.Focus();
             return;
         }

         foreach (DataGridViewRow row in DataGridView1.Rows)
             if (decimal.TryParse(row.Cells["Prezzo"].Value as string, out decimal TextBox))
                     row.Cells["Totale"].Value = (TextBox * Prezzo).ToString("#,##0.00");
     }
 }

Ringrazio e fiducioso saluto.
Mauro

Non mi è chiaro dove assegni il valore alla variabile Prezzo. Per caso ti sei dimenticato di aggiornare il valore? :)

P.S.: potresti girarmi uno screenshot dell'applicazione in esecuzione? Non mi è ancora molto chiaro come sia strutturata.
 
Ultima modifica:
Gent.mo Dazom,

per facilitare, invio il file zippato.

Mauro
Messaggio unito automaticamente:

Buonasera,

per correttezza comunico di aver risolto il problema.
Auguro di risolvere i restanti 3 problemi:
- la somma della colonna;
- effettuare la moltiplicazione con numero decimale;
- visualizzare al secondo Form la colonna della operazione.
Auguro di riuscire.
Ringrazio ed auguro una buona serata.
Mauro
 

Allegati

  • Moltiplicare una colonna del DGV.zip
    38.5 KB · Visualizzazioni: 3