Foros del Web » Programación para mayores de 30 ;) » .NET »

Compute

Estas en el tema de Compute en el foro de .NET en Foros del Web. Hola chicos estoy probando sumar en un datagridview una columna y mostrarla en un label. Utilizo Visual studio 2005 Lo que pasa es que me ...
  #1 (permalink)  
Antiguo 30/07/2008, 08:46
Avatar de la_matacury  
Fecha de Ingreso: julio-2008
Ubicación: Quilpué
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Compute

Hola chicos estoy probando sumar en un datagridview una columna y mostrarla en un label. Utilizo Visual studio 2005

Lo que pasa es que me muestra el resultado asi: ej:100000000 y yo quiero que sea 100.000.000 con los puntos para poder leerlo mas rapido.

alguna idea??? el código que tengo es asi:

Label5.Text = tabla.Compute("Sum(total)", "").ToString()

Espero me puedan ayudar con esto que me imagino sera simple.
  #2 (permalink)  
Antiguo 30/07/2008, 09:17
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Respuesta: Compute

Revisa la documentación de NumberFormatInfo.

Dependiendo de tu configuración regional y de idioma, talvez sólo necesites hacer algo como:
tabla.Compute("Sum(total)", "").ToString("n")

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 30/07/2008, 11:28
Avatar de la_matacury  
Fecha de Ingreso: julio-2008
Ubicación: Quilpué
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Compute

Hola Gracias por responder, revise la configuracion regional, y esta correcta.

Puede ser la definicion de los campos en la base de datos?

Como puedo hacer que el campo Total, lo muestre con el punto? intente con money y smallmoney pero no funciona. (no se porque)

La base de datos esta en sql server 2005.
  #4 (permalink)  
Antiguo 30/07/2008, 12:17
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Respuesta: Compute

¿Leíste la documentación?, porque se me hace raro que no hayas encontrado http://msdn.microsoft.com/es-es/libr...or(VS.80).aspx

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 31/07/2008, 08:16
Avatar de la_matacury  
Fecha de Ingreso: julio-2008
Ubicación: Quilpué
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Compute

Revise se la documentacion, pero me sale algo como esto:

La conversión de la cadena "n" en el tipo 'Integer' no es válida.

Habra otra forma?
te lo agradeceria mucho.
  #6 (permalink)  
Antiguo 31/07/2008, 08:21
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: Compute

Hola la_matacury, podrías colocar tu código para saber que estas haciendo, por que la información que te dejo xknow esta muy interesante, la verdad nunca había visto algo como eso en mi vida jaja, si te das cuenta la "n" es mayúscula "N".
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #7 (permalink)  
Antiguo 31/07/2008, 08:33
Avatar de la_matacury  
Fecha de Ingreso: julio-2008
Ubicación: Quilpué
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Compute

Hola erick

Mira tengo un datagridview que es filtrada por un combobox, y dos textbox con fechas en este caso son nombres de medicos. la vista muestra un campo con valores, de lo que el medico cobro por esa atencion. y lo que necesito es sumarla para que abajo me muestre un label con el total.

el codigo es este:

' Cargamos el ComboBox
Dim adap As New SqlDataAdapter("Select med_nombre, med_codigo from medico order by med_nombre", cnn)
adap.Fill(medico)

combobox1.DataSource = medico
combobox1.DisplayMember = "med_nombre"
combobox1.ValueMember = "med_codigo"

' Cargamos la Grilla filtrada por el ComboBox y la fecha

Dim adap_grilla As New SqlDataAdapter("Select cx.con_fecha, cx.med_codigo, cx.med_nombre, cx.total FROM vista_cm_ce cx, medico me WHERE me.med_nombre = cx.med_nombre and cx.med_nombre= '" & combobox1.Text & "' and con_fecha between '" & TextBox1.Text & "' and '" & TextBox2.Text & "' ", cnn)
adap_grilla.Fill(vista_cm_ce)
Grilla.DataSource = vista_cm_ce

Label2.Text = Grilla.RowCount.ToString() 'contador registros (funciona)

Label5.Text = vista_cm_ce.Compute("Sum(total)", "").ToString() ' suma el total correctamente pero necesito que me lo muestre con el punto de separacion.

y ese es mi problemita..........
  #8 (permalink)  
Antiguo 31/07/2008, 13:43
Avatar de erick_arcini  
Fecha de Ingreso: julio-2005
Ubicación: Jaltenco / DF
Mensajes: 1.723
Antigüedad: 18 años, 9 meses
Puntos: 50
Respuesta: Compute

mmmmmmm, prueba con estas lineas

NumberFormatInfo formato = new CultureInfo( "en-US", false ).NumberFormat;
Label5.Text = Convert.ToInt64(vista_cm_ce.Compute("Sum(total)", "")).ToString( "N", formato )


espero funcione
__________________
Mejoremos nuestro país, ayudemos al planeta... próximamente.
  #9 (permalink)  
Antiguo 01/08/2008, 10:28
Avatar de la_matacury  
Fecha de Ingreso: julio-2008
Ubicación: Quilpué
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Compute

bueno, no me funcionaron esas lineas, sin mas, encontré la solucion con eso de la "N", como dijo inicialmente Xknown. Al parecer el problema se daba, al querer sumar y cambiar el formato al mismo tiempo. (es mi teoria) jaja
Dejo el codigo para que lo vean. Muchas gracias a los dos.

Dim total As Integer

For Each row As DataGridViewRow In Me.Grilla.Rows

total = total + Val(row.Cells(3).Value)

Next

Me.Label5.Text = total.ToString("N")


Este codigo hace toda la operacion, suma la columna, y ademas muestra el resultado en el label con el separador de miles.

Un gusto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:54.