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

    [VB2008] Errore su evento datagridview autoinserimento

    Ciao a tutti,

    so che il titolo è piuttosto criptico e ora infatti cerco di spiegarmi meglio. Ho un datagrid view in cui vado ad inserire i valori: descrizione, importo, id, numero fattura, ragione sociale, flotta. I valori descrizione ed importo vengono inseriti in maniera manuale dall'utente. Numero fattura viene inserito in automatico reperendo il valore da una textbox, ragione sociale e flotta vengono inseriti da due distinte listbox. Sulla carta il codice è semplice:

    codice:
    dgwDettaglioFattura(3, dgwDettaglioFattura.CurrentRow.Index).Value = txtNumero.Text
    dgwDettaglioFattura(4, dgwDettaglioFattura.CurrentRow.Index).Value = sbFornitori.SelectedItem.ToString
    dgwDettaglioFattura(5, dgwDettaglioFattura.CurrentRow.Index).Value = lsbFlotta.SelectedItem.ToString
    Ho provato ad inserirlo in un evento row leave, ma mi da eccezione e dicendomi non è un valore valido per decimal.

    Se io inserisco 1,00 il valore rimane se io metto 1.00 si trasforma in 100, quindi sono obbligato ad inserire 1,0. Qualcuno mi spiega perchè mi si alza quell'eccezione?
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  2. #2
    niente? nessuno?
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: [VB2008] Errore su evento datagridview autoinserimento

    Originariamente inviato da Neo996sps
    Qualcuno mi spiega perchè mi si alza quell'eccezione?
    Il perché te lo spiega già la descrizione dell'errore: il formato del valore che inserisci non è valido.

    Il motivo è contenuto nell'osservazione che tu stesso hai fatto:
    Originariamente inviato da Neo996sps
    Se io inserisco 1,00 il valore rimane se io metto 1.00 si trasforma in 100, quindi sono obbligato ad inserire 1,0.
    Non puoi alternare la virgola (,) e il punto (.) a piacimento, ma devi rispettare il formato decimale impostato nelle Opzioni Internazionali all'interno del Pannello di Controllo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Ciao,

    ti ringrazio per la spiegazione ma rileggendo il post mi sono espresso male. In due sessioni differenti di debug ho provato ad inserire 1,00 e 1.00. Non ho inserito le cifre nella stessa modalità di debug.

    Continuo a non capire come cavolo risolvere sto benedetto errore...
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Neo996sps
    In due sessioni differenti di debug ho provato ad inserire 1,00 e 1.00. Non ho inserito le cifre nella stessa modalità di debug.
    Allora non ho capito: tu come specifichi questi valori attualmente?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Funziona così: carico il form, selziono i valori dalle listbox, inserisco manualmente i valori nelle textbox e questo mi fa attivare il datagridview.
    Nel datagrid view ho questi dati:

    | DESCRIZIONE | IMPORTO | ID | NUMERO_FATTURA | RAGIONE_SOCIALE | MEZZO

    io inserisco manualmente descrizione ed importo, mentre numero_fattura, ragione_sociale e mezzo vengono inseriti in automatico ad ogni nuova riga che inserisco. Un possibile caso di inserimento è questo:

    | CAMBIO OLIO | 100,00 | [id automatico | 123 | AUTOFFICINA BIANCHI | FIAT PUNTO

    la prima riga viene inserita correttamente. Quando però aggiungo una nuova riga si solleva l'eccezione e mi si blocca l'esecuzione del programma.

    In allegato uno screen dell'eccezione
    Immagini allegate Immagini allegate
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Neo996sps
    Quando però aggiungo una nuova riga si solleva l'eccezione e mi si blocca l'esecuzione del programma.
    L'inserimento della nuova riga probabilmente conferma il salvataggio della precedente, che ha il valore Decimal nel formato errato: usa un carattere diverso (ad esempio il punto, ".") come separatore dei decimali.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    come faccio a modificare il valore? Io ho lasciato le impostazioni di default nel programma. Stavo pensando ad una modifica radicale, ovvero un form il cui vado ad inserire i valori e poi li inserisco in un secondo momento all'interno del datagridview.
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Neo996sps
    come faccio a modificare il valore?
    Io mi riferivo al fatto che, quando scrivi il valore decimale, devi usare il corretto separatore decimale nel testo che introduci, in modo che la conversione da stringa a numerico vada a buon fine.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.