Foros del Web » Programando para Internet » ASPX (.net) »

Sumar los resultados de un data grid en aspx

Estas en el tema de Sumar los resultados de un data grid en aspx en el foro de ASPX (.net) en Foros del Web. Buenas Disculpen alguien me podria ayudar con esto: Tengo un data grid con varias columnas y quiero que el cliente pueda modificar cada una columna ...
  #1 (permalink)  
Antiguo 19/05/2009, 16:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 15 años
Puntos: 3
Sumar los resultados de un data grid en aspx

Buenas

Disculpen alguien me podria ayudar con esto:

Tengo un data grid con varias columnas y quiero que el cliente pueda modificar cada una columna de precio y que la pagina pueda obtener la suma de los datos que el cliente realice no se como hacerlo si del lado del cliente (con java script) o del lado del servidor utiliso visual .net si alguien me puede ayudar de antemano le agradesco
  #2 (permalink)  
Antiguo 19/05/2009, 18:33
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Sumar los resultados de un data grid en aspx

Hola.
Primero que nada deberías poder permitir a la grilla la edición. Para eso agregale una columna del tipo "Edit", lo podes hacer con el administrador de registro de la grilla.

Luego vas a tener que agregar una fila abajo de la grilla para mostrar el total:
http://aspalliance.com/782

Cualquier cosa avisanos
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 20/05/2009, 16:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 15 años
Puntos: 3
Respuesta: Sumar los resultados de un data grid en aspx

Gracias por la respuesta pero te explico mi problema:
en un text box el usuario introduce una cantidad a pagar y en la grilla tiene los datos de los productos que va a pagar es decir tres columnas nombre el producto, costo, pago, la columna pago tiene que sumar lo mismo de el text box de ser asi podra realisar el pago, si no la pagina le avisa al usuario que le falta o que se a pasado
  #4 (permalink)  
Antiguo 20/05/2009, 16:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 15 años
Puntos: 3
De acuerdo Respuesta: Sumar los resultados de un data grid en aspx

Cita:
Iniciado por Trulala de cordoba Ver Mensaje
Hola.
Primero que nada deberías poder permitir a la grilla la edición. Para eso agregale una columna del tipo "Edit", lo podes hacer con el administrador de registro de la grilla.

Luego vas a tener que agregar una fila abajo de la grilla para mostrar el total:


Cualquier cosa avisanos
gracias por la respuesta estoy en camino gracias ...
seria mucho pedirte que me dieres una pagina con alguna respuesta de mi problema completo
  #5 (permalink)  
Antiguo 20/05/2009, 18:41
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Sumar los resultados de un data grid en aspx

Vemos si esto es lo que entiendo.

Si vos queres que el usuario no se pase tanto para arriba como para abajo de lo que tiene que pagar, supongamos que lo que tiene que pagar y lo que mostras en esa columna se llama "Costo", lo que deberías hacer es agregar un itemtemplate para la caja de texto donde el usuario ingresa el monto a pagar y agregarle un control validador rangevalidator, el rangevalidator tiene un min y max value, si no queres que se pase tanto el min value como el max deberian ser el mismo y le seterías el valor que tenes el campo a pagar, supongamos "Costo", entonces el itemtemplate en la grilla te quedaría mas o menos así:

<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Costo") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text=""></asp:TextBox>
<asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2" ErrorMessage="RangeValidator" MaximumValue='<%# Bind("Costo") %>'
MinimumValue='<%# Bind("Costo") %>'></asp:RangeValidator>
</EditItemTemplate>
</asp:TemplateField>

Entonces cuando edites y ingrese en la caja de texto un valor menor o mayor a lo que tiene que pagar ("MontoAPagar") va a saltar un mensaje por el rangevalidator.
Esa es la idea.

También lo que no entiendo es que si el usuario tiene que pagar lo mismo que lo que se muestra en el campo Costo, porque no le metes un texto que muestre lo mismo que Costo pero solo lectura.
Cualquier cosa no dude en preguntar
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #6 (permalink)  
Antiguo 25/05/2009, 09:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 61
Antigüedad: 15 años
Puntos: 3
Respuesta: Sumar los resultados de un data grid en aspx

Mira tengo esto mas aparte un texbox fuera del grid lo que se trata es primero el usuario inserta una cantidad en el texbox, despues inserta varias cantidades en la culumna saldo la condicion para que se modifiquen los datos es que la suma de la columna saldo sea igual (no meno ni mayor), que la cantidad que inserto en el texbox lo que quiero es intentar leer los datos con un loop pero solo lee los datos de las demas columnas los de lasdo no puedo me he leido que el grid no puede enviar datos modificados al servidor no se si estoy en lo correcto me podrian ayudar el codigo del loop lo dejo al final.

codigo del grid

<asp:GridView CssClass="gridView" CellPadding="2" CellSpacing="2"
Caption="Documentos" runat="server" ID="gvwServicios"
AutoGenerateColumns="false" TabIndex="26" Width="632px">
<Columns>
<asp:BoundField DataField="campo1" HeaderText="campo1" />
<asp:BoundField DataField="campo2" HeaderText="campo2" />
<asp:BoundField DataField="campo3" HeaderText="campo3" />
<asp:BoundField DataField="campo4" HeaderText="campo4" />
<asp:TemplateField HeaderText="saldo">
<ItemTemplate>
<asp:TextBox runat="server" ID="TextBox2" Width="50px" Enabled="true" Text='<%#Eval("saldo") %>'> </asp:TextBox>
</ItemTemplate>
</asp:TemplateField>



</Columns>
</asp:GridView>

codigo del loop

For Each row As GridViewRow In gvwServicios.Rows
prueva=gvwServicios.Rows(row.RowIndex).TemplateCon trol.FindControl("TextBox2")


Next


tambien he intentado este

prueva = gvwServicios.Rows(row.RowIndex).Cells(5).Text

en ambos casos prueva es de tipo texto lo hago asi para provar si en verdad me manda los valores pero no es asi
de verdad no puedo resolver esto me podrian enviar un texto para ubicarme por favor
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 06:00.