2009-11-13 44 views
6
With datagridview.Columns("PricePerUnit") 
    .ValueType = Type.GetType("System.Decimal") 
    .DefaultCellStyle.Format = "C" 
End With 

Una tabla de datos está ligada al DataGridView y en el código anterior a Si Acabo de añadir fila con un valor de cinco a la columna "PricePerUnit" se mostrará como $ 5,00 en la columna DataGridViewindican el porcentaje especificando el valor DefaultCellStyle.Format en datagridviewcolum

del mismo modo quiero mostrar algo así como Si tan sólo añadir fila con un valor de cinco a la columna "DiscountPercentage"

se debe mostrar como 5,00%

Necesito un valor de cadena para asignar a DefaultCellStyle.Format para lograr esto.

Si uso DefaultCellStyle.Format="P" se multiplica automáticamente que a 100 y así para una entrada de 5 se muestra como 500,00% en lugar del 5,00%

¿Alguna idea?


Resuelta

DTB me ayudó a hacer esto (gracias a él)

number.ToString("0.00\%") obtiene el número decimal junto con 2 enteros decimales

Respuesta

9

Parece que necesita un Custom Numeric Format String aquí.

En C#:

12m.ToString("0\\%"); // returns "12%" 

lo que este debe hacer el truco:

pricePerUnitColumn.DefaultCellStyle.Format = "0\\%"; 
+1

confía en mí no eres nada corto de un genio funcionó bien y solía mostrar 2 decimales después de eso como este Number.ToString ("0.00 \%") – Ramji

0

Por qué no sólo tiene que añadir el valor 0,05 en lugar de 5? ¿O eso no es una opción?

+0

vista de cuadrícula de datos se utiliza para la visualización solamente, la base de datos se actualiza sólo a partir de los valores de la tabla de datos – Ramji

Cuestiones relacionadas