elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Calcular datos en datagriew y mostrarlos en txtBox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Calcular datos en datagriew y mostrarlos en txtBox  (Leído 3,906 veces)
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Calcular datos en datagriew y mostrarlos en txtBox
« en: 26 Mayo 2015, 07:56 am »

Hola como están.
Mi consulta es la siguiente, Como puedo calcular datos en mi griewview Control(Telerik) y mostrarlos en un textbox el problema con que me topo es que estoy haciendo un form de facturación (imagen).

Cuando agrego el producto el subtotal me la va cargando según el precio del articulo el problema viene cuando borro un producto del griewview como hago para que el subtotal baje, según esa columna del griewview.



Esto se puede, no comparto ningún código porque no tengo nada aun, no se me ocurre como manipular una columna del griewview todavía.

Saludos.


« Última modificación: 26 Mayo 2015, 08:44 am por Eleкtro » En línea

Lo que se puede imaginar... se puede programar.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.699



Ver Perfil
Re: Calcular datos en datagriew y mostrarlos en txtBox
« Respuesta #1 en: 26 Mayo 2015, 08:46 am »

Suscríbete al evento ItemRemoving, examinas el valor de la celda de la fila que estás eliminando, y lo restas al subtotal,
u otra forma, suscríbete al evento ItemRemoved, y seguidamente iteras las celdas de esa columna para volver a hacer la suma descartando automaticamente la fila que ya no existe.

Saludos


« Última modificación: 26 Mayo 2015, 08:53 am por Eleкtro » En línea


seba123neo


Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Calcular datos en datagriew y mostrarlos en txtBox
« Respuesta #2 en: 26 Mayo 2015, 08:52 am »

pues basicamente tenes que hacerte una funcion que recorra esa columna y te devuelva el resultado, y que cada vez que agreges o elimines la llamas para actualizar el numero.

el tema de todo esto, es que lo ideal no es que dependas de una columna. que pasa si algun dia se te ocurre agregar mas columnas, tendrias que cambiar el indice de la columna en todos los lados que lo uses, seria inmanejable.

Lo ideal (y en cualquier sistema de facturacion serio lo hacen asi), es usar clases y objetos, las clases se encargan de realizar todos los calculos internamente (totales, impuestos, etc) con sus propiedades get/set y metodos. de esa forma te olvidas de la interfaz grafica y no tenes que andar recorriendo ningun control para calcular nada. claro que para hacer esto tenes que saber bien en manejo de clases (POO) y como usarlas.

Cada entidad del programa deberia ser una clase (clientes, articulos, sucursales, depositos) incluso el comprobante (la factura) es una clase con objetos articulos dentro (arraylist de objetos).

saludos.
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calcular datos en datagriew y mostrarlos en txtBox
« Respuesta #3 en: 26 Mayo 2015, 09:07 am »

Hola gracias por responder a los dos.

    
Código
  1. Private Function Sumar(ByVal nombre_Columna As String, ByVal Dgv As DataGridView) As Double
  2.       Dim Total As Double = 0
  3.       ' recorrer las filas y obtener los items de la columna indicada en "nombre_Columna"  
  4.       Try
  5.          For i As Integer = 0 To Dgv.RowCount - 1
  6.             Total = Total + CDbl(Dgv.Item(nombre_Columna, i).Value)
  7.          Next
  8.       Catch ex As Exception
  9.          MsgBox(ex.Message.ToString)
  10.       End Try
  11.       Return Total
  12.    End Function

No se cual es el equivalente DataGridView en Telerik

Ya que si uso el RadGriewView me muestra un error en la parte del item
Código
  1. Total = Total + CDbl(Dgv.Item(nombre_Columna, i).Value)

Luego en el evento CellValueChanged
Código
  1. txtSubTotal.Text = FormatCurrency(Sumar("Monto", gvFactura), 2).ToString 'Me muestra un error por que gvFactura no es parte del DataGridView

luego en un evento de remover
Código
  1. ' La culmna a sumar se llama Monto
  2.   txtSubTotal.Text = FormatCurrency(Sumar("Monto", gvFactura), 2).ToString()  

Veo que el unico evento que esta es el Control Removed

No esta  ItemRemoving ni ItemRemoved.

Saludos.
« Última modificación: 26 Mayo 2015, 09:10 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.699



Ver Perfil
Re: Calcular datos en datagriew y mostrarlos en txtBox
« Respuesta #4 en: 26 Mayo 2015, 09:55 am »

No esta  ItemRemoving ni ItemRemoved.

Tienes razón, pensaba en otra cosa, es RadGridView.UserDeletingRow y RadGridView.UserDeletedRow

Saludos
En línea


nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calcular datos en datagriew y mostrarlos en txtBox
« Respuesta #5 en: 26 Mayo 2015, 10:27 am »

Hola ya casi lo tengo resuelto.

el problema es en la funcion es en esta instruccion.

Código
  1. total = total + CDbl(dgv.Item(nombre_Columna, a).Value)

Segun yo su equivalente es. Oh no es asi?.

Código
  1. total = total + CDbl(dgv.Rows.Add(nombre_Columna, a).Value)

Saludos.
« Última modificación: 26 Mayo 2015, 10:30 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Calcular datos en datagriew y mostrarlos en txtBox
« Respuesta #6 en: 26 Mayo 2015, 13:33 pm »

Hola ya lo resolvi  

Me estaba complicando la vida.



El dataGriev tiene un evento de sumar summary
Código
  1. Dim summaryItem As New GridViewSummaryItem("Monto", "Total = {0}", GridAggregateFunction.Sum)
  2.  
  3. Dim summaryRowItem As New GridViewSummaryRowItem()
  4.  
  5. summaryRowItem.Add(summaryItem)
  6. Me.gvFactura.SummaryRowsTop.Add(summaryRowItem)
  7.  

Y luego use el evento GroupSummaryEvaluate para manipular el dato.
Código
  1. Private Sub GvFactura_GroupSummaryEvaluate(sender As System.Object, e As Telerik.WinControls.UI.GroupSummaryEvaluationEventArgs) Handles gvFactura.GroupSummaryEvaluate
  2.        txtSubtotal.Text = e.Value
  3.    End Sub

Saludos.
« Última modificación: 26 Mayo 2015, 13:41 pm por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calcular Datos de un Datagridview
.NET (C#, VB.NET, ASP)
PFLOPS 4 10,754 Último mensaje 31 Marzo 2009, 19:11 pm
por Hadess_inf
guardar datos en una BD y mostrarlos en un JTable
Java
yadergo 2 4,248 Último mensaje 5 Septiembre 2009, 19:07 pm
por sapito169
Extrae datos de un Vector y mostrarlos en un Jtable de java
Programación General
wilru 0 10,454 Último mensaje 1 Junio 2010, 16:17 pm
por wilru
C:Calcular montañas en los datos almacenados en una matriz « 1 2 »
Programación C/C++
deifk 18 5,881 Último mensaje 19 Enero 2012, 00:07 am
por Xandrete
Consultar un valor de una base de datos en un txtbox
Programación Visual Basic
MandingoPC 0 1,048 Último mensaje 27 Abril 2012, 15:42 pm
por MandingoPC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines