none
DataGridTextColumn in formato numerico

    Domanda

  • ciao,

    ho bisogno di formattare una DataGridTextColumn nel seguente formato numerico: separatore decimali ","; max 3 decimali.

    Per le date, si può impostare la proprietà StringFormat all'interno del Binding. Per DataGridTextColumn non trovo niente di simile; per cui, i dati provenienti da DB spesso appaiono con molte cifre decimali.

    come si fa?

    grazie

    martedì 5 giugno 2012 10:53

Risposte

  • Ciao.
    Entra nella proprietà "columns"; cerca "Associazione cella / Binding"; scheda "opzioni" e scegli il "formato stringa".

    Facci sapere.


    Fabrizio Alessandri



    ciao Fabrizio,

    ho trovato le proprietà, ma non posso modificarle perché la mia dataGrid è collegata a un DataSet. Ho impostato la proprietà AutoGenerateColumns a True, e non ho definito le colonne.

    Se scrivo una riga di questo tipo

                    <DataGridTextColumn x:Name="PrezzoColumn" Binding="{Binding StringFormat=\{0:F4\}}" Header="prezzo" MinWidth="100" />


     (dove il formato \{0:F4\} dovrebbe scrivere 4 cifre decimali)
    al momento del caricamento dei dati perdo la formattazione, e il numero appare con 12 cifre decimali!

    IL fatto che sia collegata ad un Dataset, non ti preclude la possibilità di definirne il formato.
    Facciamo un passo indietro: di quanti decimali vuoi disporre? Leggo "prezzo", quindi suppongo tu necessiti di un formato "valuta".
    In questo caso il formato da scegliere lo trovi elencato e corrisponde alla Key "StringFormat=\{0:c\}}" .
    Fai attenzione anche al fattore "globalizzazione/localizzazione".
    A suo tempo mi aiuto Mauro Servienti. Non ho sottomano il link, ma ne ho trovato un altro dove collabora anche Antonio Esposito:
    http://social.msdn.microsoft.com/Forums/it-IT/visualcsharpit/thread/8e274761-0ef0-4845-a871-76ba2b3ee9c3

    Facci sapere.


    Fabrizio Alessandri



    martedì 5 giugno 2012 13:27

Tutte le risposte

  • Ciao.
    Entra nella proprietà "columns"; cerca "Associazione cella / Binding"; scheda "opzioni" e scegli il "formato stringa".

    Facci sapere.


    Fabrizio Alessandri

    martedì 5 giugno 2012 12:26
  • Ciao.
    Entra nella proprietà "columns"; cerca "Associazione cella / Binding"; scheda "opzioni" e scegli il "formato stringa".

    Facci sapere.


    Fabrizio Alessandri



    ciao Fabrizio,

    ho trovato le proprietà, ma non posso modificarle perché la mia dataGrid è collegata a un DataSet. Ho impostato la proprietà AutoGenerateColumns a True, e non ho definito le colonne.

    Se scrivo una riga di questo tipo

                    <DataGridTextColumn x:Name="PrezzoColumn" Binding="{Binding StringFormat=\{0:F4\}}" Header="prezzo" MinWidth="100" />


     (dove il formato \{0:F4\} dovrebbe scrivere 4 cifre decimali)
    al momento del caricamento dei dati perdo la formattazione, e il numero appare con 12 cifre decimali!

    martedì 5 giugno 2012 13:05
  • Ciao.
    Entra nella proprietà "columns"; cerca "Associazione cella / Binding"; scheda "opzioni" e scegli il "formato stringa".

    Facci sapere.


    Fabrizio Alessandri



    ciao Fabrizio,

    ho trovato le proprietà, ma non posso modificarle perché la mia dataGrid è collegata a un DataSet. Ho impostato la proprietà AutoGenerateColumns a True, e non ho definito le colonne.

    Se scrivo una riga di questo tipo

                    <DataGridTextColumn x:Name="PrezzoColumn" Binding="{Binding StringFormat=\{0:F4\}}" Header="prezzo" MinWidth="100" />


     (dove il formato \{0:F4\} dovrebbe scrivere 4 cifre decimali)
    al momento del caricamento dei dati perdo la formattazione, e il numero appare con 12 cifre decimali!

    IL fatto che sia collegata ad un Dataset, non ti preclude la possibilità di definirne il formato.
    Facciamo un passo indietro: di quanti decimali vuoi disporre? Leggo "prezzo", quindi suppongo tu necessiti di un formato "valuta".
    In questo caso il formato da scegliere lo trovi elencato e corrisponde alla Key "StringFormat=\{0:c\}}" .
    Fai attenzione anche al fattore "globalizzazione/localizzazione".
    A suo tempo mi aiuto Mauro Servienti. Non ho sottomano il link, ma ne ho trovato un altro dove collabora anche Antonio Esposito:
    http://social.msdn.microsoft.com/Forums/it-IT/visualcsharpit/thread/8e274761-0ef0-4845-a871-76ba2b3ee9c3

    Facci sapere.


    Fabrizio Alessandri



    martedì 5 giugno 2012 13:27
  • IL fatto che sia collegata ad un Dataset, non ti preclude la possibilità di definirne il formato.
    Facciamo un passo indietro: di quanti decimali vuoi disporre? Leggo "prezzo", quindi suppongo tu necessiti di un formato "valuta".
    In questo caso il formato da scegliere lo trovi elencato e corrisponde alla Key "StringFormat=\{0:c\}}" .
    Fai attenzione anche al fattore "globalizzazione/localizzazione".
    A suo tempo mi aiuto Mauro Servienti. Non ho sottomano il link, ma ne ho trovato un altro dove collabora anche Antonio Esposito:
    http://social.msdn.microsoft.com/Forums/it-IT/visualcsharpit/thread/8e274761-0ef0-4845-a871-76ba2b3ee9c3

    Facci sapere.


    sono riuscito a farlo funzionare. Con il formato 0:F3 ho ottenuto la formattazione a 3 cifre digitali

    Un'ultima domanda: è possibile fare una formattazione per limitare il numero delle cifre intere?. Tra le opzioni c'è il formato 0:D[n], che scrive un numero intero in n cifre (aggiungendo gli zeri a sinistra). Si può concatenare questo formato a quello per le cifre decimali?

    grazie per l'aiuto

    martedì 5 giugno 2012 14:18
  • IL fatto che sia collegata ad un Dataset, non ti preclude la possibilità di definirne il formato.
    Facciamo un passo indietro: di quanti decimali vuoi disporre? Leggo "prezzo", quindi suppongo tu necessiti di un formato "valuta".
    In questo caso il formato da scegliere lo trovi elencato e corrisponde alla Key "StringFormat=\{0:c\}}" .
    Fai attenzione anche al fattore "globalizzazione/localizzazione".
    A suo tempo mi aiuto Mauro Servienti. Non ho sottomano il link, ma ne ho trovato un altro dove collabora anche Antonio Esposito:
    http://social.msdn.microsoft.com/Forums/it-IT/visualcsharpit/thread/8e274761-0ef0-4845-a871-76ba2b3ee9c3

    Facci sapere.


    sono riuscito a farlo funzionare. Con il formato 0:F3 ho ottenuto la formattazione a 3 cifre digitali

    Un'ultima domanda: è possibile fare una formattazione per limitare il numero delle cifre intere?. Tra le opzioni c'è il formato 0:D[n], che scrive un numero intero in n cifre (aggiungendo gli zeri a sinistra). Si può concatenare questo formato a quello per le cifre decimali?

    grazie per l'aiuto

    Onestamente non mi sono mai posto il quesito in XAML, mi spiace.
    Se mi viene in mente qualcosa te lo posto, auspicando nel frattempo in qualcuno più preparato di me.
    Ciao.


    Fabrizio Alessandri

    martedì 5 giugno 2012 14:48