79 messaggi dal 04 marzo 2012
Buongiorno,
ho una pagina web dove creo le colonne e le celle tramite codice vb.

es.
column = New DataColumn()
column.DataType = System.Type.GetType("System.Double")
column.ColumnName = "BDGEntrate"
column.ReadOnly = True
column.Unique = False
table.Columns.Add(column)


dopo aver riempito con i dati

row("BDGEntrate") = TotSettimana(1)

ho la necessità di formattare i dati nella cella della gridview.

Ho provato sia nella RowCreated che RowDataBound ad inserire la formattazione:

e.Row.Cells(i).Text = Format(e.Row.Cells(i).Text, "{0:n2}").ToString()

ma il formato non cambia, io ho la necessità di visualizzare il valore con punti separatori migliaia e virgola per decimali, e mettere sempre due decimali anche quando sono a 0. es. 1.234,00

Spero di essere stato chiaro, qualcuno mi sa aiutare per cortesia.
RIngrazio anticipatamente.
Premesso che la soluzione che ti propongo l'ho provata su una Form Windows e non su una pagina ASP, ma
per me ha funzionato

DataGridView1.Columns(2).DefaultCellStyle.Format = "{0:n2}"
DataGridView1.Columns(3).DefaultCellStyle.Format = "#,###.00"
DataGridView1.Columns(4).DefaultCellStyle.Format = "#,###"
DataGridView1.Columns(5).DefaultCellStyle.Format = "#,###"

queste istruzioni sono inserite prima di passare i dati al datagridview

Ciao

Alberto
79 messaggi dal 04 marzo 2012
In windows Form ok, ma io devo operare su una pagina web,


ho provato nella RowDataBound con :

e.Row.Cells(i).Text = Format(e.Row.Cells(i).Text, "{0:n2}").ToString() ma sembra non abbia alcun effetto

e.Row.Cells(i).Text = Format(e.Row.Cells(i).Text, "##,##0.00").ToString() mi cambia il valore con la scritta ##,##0.00

o sbaglio sintassi, o deve essere fatta in un altro contesto
79 messaggi dal 04 marzo 2012
Buongiorno,
ho trovato una soluzione anche se non era quella che cercavo.

Nella pagina aspx ho inserito la colonna interessata impostando la formattazione, ma ho indicato di non generare le colonne perché poi le genero a livello di codice vb.

<asp:GridView ID="dgvPrevisioni" runat="server" OnRowCreated="RowCreated" onRowDataBound="RowDataBound" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Valore" HeaderText="Valore" DataFormatString="{0:n2}" >
</asp:BoundField >
</Columns>
</asp:GridView>

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.