Punto decimal en un datagridview

25/01/2007 - 18:16 por Manu | Informe spam
Hola a todos/as

Tengo un problema. Tengo un formulario para introducir pedidos de clientes,
y este sigue un modelo clasico maestro/detalle, es decir, un pedido de un
cliente puede tener varias lineas de pedido. Para las lineas de pedido
utilizo un datagridview que con el dataset, con el binding y el table adapter
esta casi perfectamente enlazado con la tabla en la base de datos. Tanto en
la tabla como en en el dataset los campos de cantidad y precio son de tipo
decimal.

El problema es que cuando utilizo el teclado númerico para introducir
registros en la linea de pedido y concretamente en los dos campos citados, si
utilizas el punto de dicho teclado no le hace ni caso, vamos que pone un
número entero, sin decimales, y lo que yo quiero es que ponga una coma y lo
entienda como el punto decimal.

He intentado de todo pero no he encontrado la forma. Si alguien me puede
ayudar, por favor.
Manu.
 

Leer las respuestas

#1 SoftJaén
25/01/2007 - 21:07 | Informe spam
"Manu" escribió:

El problema es que cuando utilizo el teclado númerico para introducir
registros en la linea de pedido y concretamente en los dos campos citados,
si utilizas el punto de dicho teclado no le hace ni caso, vamos que pone
un número entero, sin decimales, y lo que yo quiero es que ponga una
coma y lo entienda como el punto decimal.



Hola:

El problema es que no reconoce como símbolo separador decimal el punto,
tanto del teclado numérico como el del teclado normal, por lo que deberás de
hacer la conversión correspondiente.

Por ejemplo, prueba a ejecutar el siguiente código en el evento
«CellValueChanged» del control DataGridView:

' Comprobamos sólo la columna que nos interesa.
'
If Me.DataGridView1.Columns("Pedido").Index = e.ColumnIndex Then
' Valor actual de la celda
Dim value As String = DataGridView1.CurrentCell. _
EditedFormattedValue.ToString

' Reemplazamos el punto por la coma decimal.
value = value.Replace(".", ",")

' Escribimos el nuevo valor.
Dim cellValue As Decimal = CType(value, Decimal)
DataGridView1.CurrentCell.Value = cellValue

End If

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares