|
Página 1 de 1
|
¿Suma De Campos Gridview?
Autor |
Mensaje |
RodSanRey
Rodrigo Sanchez Reyes
Usuario
Registrado: Julio 2011
Mensajes: 33
Edad: 39 Ubicación:
|
¿Suma De Campos Gridview?
Hola buenos días un saludos desde México
La consulta que quiero hacerles este día es como sumar los campos de un gridview.
tengo un gridview con estas características
la columna que deseo sumar es la de total y que el resultado se muestre en un textbox
Espero me puedan ayudar u orientar es este proceso sin mas un saludo a todos
|
#1 Viernes, 12 Agosto 2011, 16:41 |
|
|
arubioc
Alex
Ingeniero Programador
Registrado: Julio 2011
Mensajes: 248
Edad: 53 Ubicación: Kowloon
|
Re: ¿Suma De Campos Gridview?
Debes crear un bucle aqui tienes un ejemplo.
FOR b = 0 TO TableView1.Rows.Count - 1
TableView1[b, 7].text = TableView1[b, 5].text - (TableView1[b, 5].text * TableView1[b, 6].text / 100) 'precio neto
TableView1[b, 7].Alignment = Align.Center
TableView1[b, 8].text = TableView1[b, 7].text * TableView1[b, 2].text 'importe de la linea precio neto*cantidad
TableView1[b, 6].Alignment = Align.Center
base_fac = base_fac + TableView1[b, 8].text
iva_fac = iva_fac + TableView1[b, 8].text * (TableView1[b, 3].text / 100)
re_fac = re_fac + TableView1[b, 8].text * (TableView1[b, 4].text / 100)
Espero te sirva
|
#2 Viernes, 12 Agosto 2011, 16:53 |
|
|
BrunoIV
|
Re: ¿Suma De Campos Gridview?
a tu bucle le falta un NEXT al final
|
#3 Viernes, 12 Agosto 2011, 18:37 |
|
|
RodSanRey
Rodrigo Sanchez Reyes
Usuario
Registrado: Julio 2011
Mensajes: 33
Edad: 39 Ubicación:
|
Re: ¿Suma De Campos Gridview?
Muchas Gracias BrunoIV por la aclaración de NEXT si lo puse
la cuestión es que solo quiero sumar una columna la de Total siguiendo el ejempro de arubloc
Citar: FOR b = 0 TO TableView1.Rows.Count - 1
TableView1[b, 7].text = TableView1[b, 5].text - (TableView1[b, 5].text * TableView1[b, 6].text / 100) 'precio neto
TableView1[b, 7].Alignment = Align.Center
TableView1[b, 8].text = TableView1[b, 7].text * TableView1[b, 2].text 'importe de la linea precio neto*cantidad
TableView1[b, 6].Alignment = Align.Center
base_fac = base_fac + TableView1[b, 8].text
iva_fac = iva_fac + TableView1[b, 8].text * (TableView1[b, 3].text / 100)
re_fac = re_fac + TableView1[b, 8].text * (TableView1[b, 4].text / 100)
implemente esta funcion para que sea llamada cada vez que se agrega un nuevo articulo esta es
sin embargo a la hora de sumar le textbox26 se queda en blanco quiza este algo mal pero sigo investigando
|
#4 Viernes, 12 Agosto 2011, 19:27 |
|
|
RodSanRey
Rodrigo Sanchez Reyes
Usuario
Registrado: Julio 2011
Mensajes: 33
Edad: 39 Ubicación:
|
Re: ¿Suma De Campos Gridview?[SOLUCIONADO]
Solucionado ya pude realizar la suma de la columna especificada después de un rato ya vi mi error tenia un error de sintaxis el resultado tenia que ir dentro del FOR NEXT
aquí posteo la solución por si alguien la necesita
Citar: FUNCTION zsuMacaMp()
DIM $toTal AS Float
DIM $i AS Long
WITH GridView1
FOR $i = 1 TO .Rows.Count - 1
$toTal = $toTal + GridView1[$i, 4].Text
NEXT
TextBox26.Text = Format(CFloat($toTal), "###,###.00") <<'Aqui es donde esta el error ya que se encuentra afuera del ciclo
END WITH
END
la forma correcta es:
esta es la función que suma las filas de la columna Total
Pero me generaba un error de tipos que no coinciden porque quería un valor FLOAT y se encontró un STRING en el gridview así que tuve que formatear esa columna en FLOAT de la siguiente manera:
PRIVATE SUB zKrgaDataTabla()
DIM $qrYdeTa AS String
DIM $rStdeTa AS Result
DIM $liNea AS Integer
GridView1.Rows.Count = 1
$qrYdeTa = "SELECT * FROM compras2 WHERE ordn_comp='" & TextBox10.Text & "'"
$rStdeTa = cNxs.$cOn.Exec($qrYdeTa)
$liNea = 0
DO WHILE $rStdeTa.Available
$liNea = $liNea + 1
GridView1.Rows.Insert($liNea)
GridView1[$liNea, 0].Alignment = Align.Normal
GridView1[$liNea, 0].Text = $rStdeTa["codi_comp"]
GridView1[$liNea, 1].Alignment = Align.Normal
GridView1[$liNea, 1].Text = $rStdeTa["desc_comp"]
GridView1[$liNea, 2].Alignment = Align.Normal
GridView1[$liNea, 2].Text = $rStdeTa["impo_comp"]
GridView1[$liNea, 3].Alignment = Align.Normal
GridView1[$liNea, 3].Text = $rStdeTa["cant_comp"]
GridView1[$liNea, 4].Alignment = Align.Normal
GridView1[$liNea, 4].Text = $rStdeTa["tota_comp"]
GridView1[$liNea, 4].Text = Format(CFloat(GridView1[$liNea, 4].Text), "###,###.00") 'aqui converti en FLOAT los valores de esta columna
$rStdeTa.MoveNext
LOOP
END
Por ultimo ya solo llamamos nuestra función para sumar ya sea desde un botón de comando o en una rutina
por ejemplo yo lo llamo cuando se cumple la condición de una rutina
PRIVATE SUB zagRearTi()
DIM $qRYartIC AS String
DIM $rsTartIc AS Result
$qRYartIC = "INSERT INTO compras2 (ordn_comp, codi_comp, desc_comp, volu_comp, peso_comp, cant_comp, impo_comp, tota_comp, perm_comp) VALUES('" & TextBox10.Text & "','" & TextBox11.Text & "','" & TextBox12.Text & "','" & TextBox16.Text & "','" & TextBox17.Text & "','" & TextBox19.Text & "','" & TextBox20.Text & "','" & TextBox23.Text & "','" & cNxs.$usUa & "')"
$rsTartIc = cNxs.$cOn.Exec($qRYartIC)
IF ERROR THEN
Message.Error( ERROR .Text)
ELSE
zKrgaDataTabla
zsuMacaMp '<<<<<<<<<<<<<<<< aqui llamo la rutina de la suma
Message.Question("otro")
ENDIF
END
espero sea entendible para futuras referencias
y gracias por responder BrunoIV y aubloc
|
#5 Viernes, 12 Agosto 2011, 20:02 |
|
|
arubioc
Alex
Ingeniero Programador
Registrado: Julio 2011
Mensajes: 248
Edad: 53 Ubicación: Kowloon
|
Re: ¿Suma De Campos Gridview?
cosas del copiar pegar
|
#6 Viernes, 12 Agosto 2011, 23:34 |
|
|
drojas
Usuario
Registrado: Febrero 2017
Mensajes: 22
Edad: 37
|
Re: ¿Suma De Campos Gridview?
Solucionado ya pude realizar la suma de la columna especificada después de un rato ya vi mi error tenia un error de sintaxis el resultado tenia que ir dentro del FOR NEXT
aquí posteo la solución por si alguien la necesita
Citar: FUNCTION zsuMacaMp()
DIM $toTal AS Float
DIM $i AS Long
WITH GridView1
FOR $i = 1 TO .Rows.Count - 1
$toTal = $toTal + GridView1[$i, 4].Text
NEXT
TextBox26.Text = Format(CFloat($toTal), "###,###.00") <<'Aqui es donde esta el error ya que se encuentra afuera del ciclo
END WITH
END
la forma correcta es:
esta es la función que suma las filas de la columna Total
Pero me generaba un error de tipos que no coinciden porque quería un valor FLOAT y se encontró un STRING en el gridview así que tuve que formatear esa columna en FLOAT de la siguiente manera:
PRIVATE SUB zKrgaDataTabla()
DIM $qrYdeTa AS String
DIM $rStdeTa AS Result
DIM $liNea AS Integer
GridView1.Rows.Count = 1
$qrYdeTa = "SELECT * FROM compras2 WHERE ordn_comp='" & TextBox10.Text & "'"
$rStdeTa = cNxs.$cOn.Exec($qrYdeTa)
$liNea = 0
DO WHILE $rStdeTa.Available
$liNea = $liNea + 1
GridView1.Rows.Insert($liNea)
GridView1[$liNea, 0].Alignment = Align.Normal
GridView1[$liNea, 0].Text = $rStdeTa["codi_comp"]
GridView1[$liNea, 1].Alignment = Align.Normal
GridView1[$liNea, 1].Text = $rStdeTa["desc_comp"]
GridView1[$liNea, 2].Alignment = Align.Normal
GridView1[$liNea, 2].Text = $rStdeTa["impo_comp"]
GridView1[$liNea, 3].Alignment = Align.Normal
GridView1[$liNea, 3].Text = $rStdeTa["cant_comp"]
GridView1[$liNea, 4].Alignment = Align.Normal
GridView1[$liNea, 4].Text = $rStdeTa["tota_comp"]
GridView1[$liNea, 4].Text = Format(CFloat(GridView1[$liNea, 4].Text), "###,###.00") 'aqui converti en FLOAT los valores de esta columna
$rStdeTa.MoveNext
LOOP
END
Por ultimo ya solo llamamos nuestra función para sumar ya sea desde un botón de comando o en una rutina
por ejemplo yo lo llamo cuando se cumple la condición de una rutina
PRIVATE SUB zagRearTi()
DIM $qRYartIC AS String
DIM $rsTartIc AS Result
$qRYartIC = "INSERT INTO compras2 (ordn_comp, codi_comp, desc_comp, volu_comp, peso_comp, cant_comp, impo_comp, tota_comp, perm_comp) VALUES('" & TextBox10.Text & "','" & TextBox11.Text & "','" & TextBox12.Text & "','" & TextBox16.Text & "','" & TextBox17.Text & "','" & TextBox19.Text & "','" & TextBox20.Text & "','" & TextBox23.Text & "','" & cNxs.$usUa & "')"
$rsTartIc = cNxs.$cOn.Exec($qRYartIC)
IF ERROR THEN
Message.Error( ERROR .Text)
ELSE
zKrgaDataTabla
zsuMacaMp '<<<<<<<<<<<<<<<< aqui llamo la rutina de la suma
Message.Question("otro")
ENDIF
END
espero sea entendible para futuras referencias
y gracias por responder BrunoIV y aubloc
Buenas
Este codigo funciona tambien con TableView????
|
#7 Jueves, 02 Marzo 2017, 22:46 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: ¿Suma De Campos Gridview?
Buenas
Citar: Este codigo funciona tambien con TableView????
Accediendo directamente al objeto gridview del tableview, seguramente sí.
Te explico, el tableview es un control compuesto que internamente usa un gridview y otros controles para la edición, como un textbox, spinbox, etc.
Puedes acceder al objeto gridview dentro de la jerarquía interna del TableView buscando en el desplegable que aparece en el código al teclear el nombre de tu tableview seguido del punto. A partir de ese objeto, puedes usar todas las propiedades y métodos del gridview.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#8 Viernes, 03 Marzo 2017, 12:51 |
|
|
drojas
Usuario
Registrado: Febrero 2017
Mensajes: 22
Edad: 37
|
Re: ¿Suma De Campos Gridview?
Muchas Gracias!!!
Me hizo cranear un poco pero al final esta funcionando de forma correcta
|
#9 Viernes, 03 Marzo 2017, 14:57 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|