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

TextBox dinamico en gridview

Estas en el tema de TextBox dinamico en gridview en el foro de ASPX (.net) en Foros del Web. Hola a todos tengo un problema necesito sumar los datos existentes en un gridview que lleno mediante un llamado de la base de datos de ...
  #1 (permalink)  
Antiguo 12/11/2010, 09:40
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 13 años, 6 meses
Puntos: 0
TextBox dinamico en gridview

Hola a todos
tengo un problema
necesito sumar los datos existentes en un gridview que lleno mediante un llamado de la base de datos de esta manera

Código:
table = New System.Data.DataTable()
        table.Columns.Add("codigo", GetType(System.String))
        table.Columns.Add("descripcion", GetType(System.String))
        table.Columns.Add("cantidad", GetType(System.String))
        table.Columns.Add("valorUnitario", GetType(System.String))
        table.Columns.Add("valorTotal", GetType(System.String))
        table.Columns.Add("Valor Final", GetType(System.String))
        Session.Add("Tabla", table)
Código:
With MyCmdMateriales
            .CommandType = CommandType.Text
            .Parameters.AddWithValue("folio", folio)
            .Parameters.AddWithValue("version", version)
            .ExecuteNonQuery()
        End With
y dentro de ella creo los texbox por cada fila

Código:
For Each row As GridViewRow In gvMaterial.Rows
            Dim oTextBoxMaterial As New TextBox
            oTextBoxMaterial.Width = 70
            oTextBoxMaterial.Text = row.Cells(5).Text
            totalGrillaMaterial = totalGrillaMaterial + Int(oTextBoxMaterial.Text)
            txtTotalGrillaMateriales.Text = totalGrillaMaterial
            oTextBoxMaterial.ID = "TextBox" & row.Cells(1).Text
            row.Cells(row.Cells.Count - 1).Controls.Add(oTextBoxMaterial)
        Next
lo pongo asi para qe me de un total en un textbox externo al gridview
bueno el caso es que quiero repetir el proceso de suma de totales despues de haber editado los textbox
de esta manera

Código:
totalGrillaMaterial = 0
        For Each row As GridViewRow In gvMaterial.Rows
            totalGrillaMaterial = totalGrillaMaterial + Int(oTextBoxMaterial.Text)
            txtTotalGrillaMateriales.Text = totalGrillaMaterial
        Next
bueno lo que pasa es que como defino el textbox dinamico al crearlo en la tabla

Código:
 Dim oTextBoxMaterial As New TextBox
no puedo tomarlo abajo para sumar los datos
y si creo la variable afuera del for ..en el gridview me agrega el Textbox solamente en la ultima fila...u.u
que puedo hacer en ese caso
hay alguna otra manera ??'
como creo el llenado del gridview dinámicamente no me sirve el itemtemplate ya que me aparece el Textbox al principio (en la primera columna) y necesito que sea al final

bueno...de antemano muchas gracias
y espero su ayuda
gracias
  #2 (permalink)  
Antiguo 15/11/2010, 16:13
Avatar de bigprice  
Fecha de Ingreso: diciembre-2009
Mensajes: 30
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: TextBox dinamico en gridview

Mira yo lo que hago en c# es:
Código:
private void Total()
            {
                float total = 0;
                this.lblTotal.Text = "Total: $0";

                foreach (GridViewRow fila in gvCarrito.Rows)
                {
                    string precio = fila.Cells[3].Text.ToString();
                    total += float.Parse(precio);

                }
                this.lblTotal.Text = "Total: $" + total.ToString();

            }
donde cells[3] es la columna de las celdas que deseas sumar, espero que puedas pasarlo a codigo visual basic, creo que esta entendible, ojala que haya podido ayudarte.
  #3 (permalink)  
Antiguo 16/11/2010, 05:23
 
Fecha de Ingreso: septiembre-2010
Mensajes: 27
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: TextBox dinamico en gridview

Cita:
Iniciado por bigprice Ver Mensaje
Mira yo lo que hago en c# es:
Código:
private void Total()
            {
                float total = 0;
                this.lblTotal.Text = "Total: $0";

                foreach (GridViewRow fila in gvCarrito.Rows)
                {
                    string precio = fila.Cells[3].Text.ToString();
                    total += float.Parse(precio);

                }
                this.lblTotal.Text = "Total: $" + total.ToString();

            }
donde cells[3] es la columna de las celdas que deseas sumar, espero que puedas pasarlo a codigo visual basic, creo que esta entendible, ojala que haya podido ayudarte.
Hola buenas ...genial tu respuesta amigo me sirvio de mucha ayuda, lo utilice como guia y funciono correctamente
gracias muchas

Etiquetas: dinamico, gridview, textbox, aspx
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 17:45.