Datagrid me podrá servir

¿Una pregunta se puede sumar el subtotal de todo los productos que este en la datagrid y pasarlo el total a un texbox?... ¿Osea qué me recomienda? Es para una factura ... A medida que el cliente solicite los productos se haga el calculo en el textbox primero, luego que entre a la datagrid para visualizar los productos que se este vendiendo, y en caso de quitar un articulo se pueda eliminar o modificar el precio, hasta que el cliente este satisfecho y se obtenga el precio total en un texbox...
Se que puede ser difícil como te estoy explicando, hasta yo estoy vuelta un 8, pero en verdad si me puedes ayudar en esto, ya que es sumamente importante es para un proyecto final del semestre.
Aaaaaa me han dicho que la datagrid es solo lectura que muestra todo de la base de dato eso ya lo se.. Pero ese es mi problema porque yo quiero que muestre solo lo que el cliente pida de producto al momento y sacarle ese calculo solo a esos productos y no todo lo que estaba ya almacenado. ¿Sera qué habrá otra forma?

1 Respuesta

Respuesta
1
El datagrid muestra lo que tu quieras que muestre, no necesariamente todo lo de la tabla, es decir si tu haces que tu recordset sea un query de SQL que apunte a varias tablas, cruce información, etc lo puedes hacer y el datagrid te mostrará la información que tu le pidas, obviamente el query debe estar muy bien hecho.
En cuanto a calcular el precio desde el datagrid no es nada sencillo ya que requieres que cada vez que se haga un cambio (sea agregar o eliminar un artículo), debes leer todos los registros de la columna que mantiene el precio. La opción más sencilla es que lo vayas calculando a medida que se van agregando artículos, sin embargo si se llega a eliminar uno del datagrid pues no se borraría del valor que quieres en el textbox.
Yo usualmente lo que manejo es una tabla temporal donde se van agregando o quitando artículos y cuando ya se tiene listo el listado en el datagrid y se sabe que no va a sufrir más modificaciones entonces paso todos los registros a una tabla definitiva (leyendo cada registro de la temporal y pasándolo a la tabla definitiva) de este modo se puede calcular la suma de estos a medida que pasan a la tabla definitiva y puedes poner un msgbox con el valor, sin embargo esta opción no te permitiría ver en tiempo real como cambia el valor a medida que se agregan o quitan registros.
Si definitivamente deseas que cuando hayan cambios se actualice en tiempo real entonces es mejor usar un MSHFlexGrid que un DataGrid y puedes poner a leer registro a registro en este control en lugar de la tabla con un FOR así:
Dim iRow as Integer
For iRow = 0 To Me.MSHFlexGrid1.Rows - 1 
  suma = suma + Me.MSHFlexGrid1.TextMatrix(iRow, 1)  // asumiendo que la columna 1 es la que tiene el valor
Next iRow 
Por cierto... ¿En qué universidad estudias?
Ok, tratare de hacerlo, gracias. Y estudio en un instituto tecnológico privado si te digo el nombre no creo que lo conozca, claro dependiendo en que país vives tu... ¿por qué la pregunta?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas