ASP.NET - Llenar GridView Manualmente

 
Vista:

Llenar GridView Manualmente

Publicado por AURORA (2 intervenciones) el 05/11/2010 20:39:55
Hola! buen día, tengo el siguiente detalle... estoy desarrollando una pagina Web en Visual .Net 2008, tengo un text box el cual el usuario va a capturar un numero de serie, al dar click en el boton agregar el numero de serie se agrega al GridView, y asi ir agregando todos los SN que el usuaio necesito... he estado buscando info pero solo logro agregar un registro y cuando intento agregar otro me reemplaza el anterior... podrian ayudarme con esto? muchas gracias!! Saludos

Este es el codigo que estoy usando en el boton Add...

Dim table As DataTable

table = New DataTable("Tabla1")
table.Columns.Add("SN")

Dim nRec As DataRow
nRec = table.NewRow

nRec("SN") = txtsn.Text

table.Rows.Add(nRec)

table.AcceptChanges()

gdvsn.DataSource = table
gdvsn.DataBind()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Llenar GridView Manualmente

Publicado por roger (311 intervenciones) el 06/11/2010 03:52:03
si estas creando la tabla y agregandole la fila cada vez que se entra al evento click, entonces solo verás una fila cada vez que le des click al boton, lo que tendrias que hacer es crear la tabla y almacenarla en sesion o en el viewstate, y en el evento click solamente recuperar la tabla y crear una fila para agregarle. Mira si asi te funciona y si tienes alguna duda nos comentas

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por Khristian (335 intervenciones) el 08/11/2010 14:30:47
Si esa información va a una base de datos...

Simple...

Agrégala a la Tabla de la base de datos (Insertas el nuevo registro), e inmediatamente haces un databind en el gridview (se te actualiza el gridview).

Todo eso, lo pones dentro de un updatepanel... (asi solo se envia el codigo de insercion y solo recargas el gridview).

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por Aurora (2 intervenciones) el 08/11/2010 17:22:48
Muchas gracias a ambos... ya lo pude resolver... dejo el codigo por si a alguien le es util...Saludos!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
**** Declaro variable:
 
 Dim table As New DataTable("FillSN")
 
**** Esto en Load:
 
 table.Columns.Add(New DataColumn("SN", GetType(String)))
 
Session("FillSN") = table
 
**** Y esto en el botón agregar:
 
        Dim table As DataTable
 
        table = Session("FillSN")
 
        Dim nRec As DataRow
        nRec = table.NewRow
 
        Dim row As DataRow = table.NewRow()
        row.Item(0) = txtSN.Text
        table.Rows.Add(row)
 
        table.AcceptChanges()
 
        gdvsn.DataSource = table
        gdvsn.DataBind()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por Khristian (335 intervenciones) el 08/11/2010 21:29:37
Genial...

Pero...
Como anda la carga en memorias de esas variables de sesion????
Serán muchos registros en el GridView????
Serán muchos usuarios al mismo tiempo?????

Si son pocos... esta genial. Pero en caso contrario evalua la sobrecarga del servidor.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por ferney (1 intervención) el 02/12/2011 07:18:13
tengo el mismo problema que tu y utilize el codigo que compartiste pero al momento de agrgar un nuevo registro al que ya esta no se crea la nueva fila y siempre remplasa ala que ya estaba si me puedes ayudar seria genial

de antemano gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por david (1 intervención) el 26/06/2012 18:36:36
Hola :) bueno este correo ya tiene varios meses pero me asalta la misma duda que "Ferney", ya que hice todo el codigo que "Aurora" puso para que el grid se fuera rellenando con los datos del textbox, pero me va quedando uno solamente y no van quedando los datos anteriores del textbox, si tu "Aurora" o alguien me pudiera decir que es lo que hay que arreglar o completar se lo agradeceria mucho, gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por Eric (1 intervención) el 10/08/2012 05:04:51
lo intente pero aun sigue borrando el campo anterior.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim table As DataTable
        table = Session("FillSN")
        Dim nRec As DataRow
        nRec = table.NewRow
        Dim row As DataRow = table.NewRow()
        row.Item(0) = TxtProtagonista.Text
        table.Rows.Add(row)
 
        table.AcceptChanges()
 
        GridView1.DataSource = table
        GridView1.DataBind()
 
   Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        table.Columns.Add(New DataColumn("SN", GetType(String)))
        Session("FillSN") = table
    End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por Karin (1 intervención) el 29/10/2012 22:40:55
Hola, he logrado insertar varios registros, es necesario usar ViewState luego de insertar cada fila.
mi codigo es el siguiente, espero les sea de utilidad:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
**** Declaro variable:
    Dim table As New DataTable("FillSN")
 
 
**** En el Boton Click:
 
        table = Session("FillSN")
 
        Dim row As DataRow = table.NewRow()
        row.Item(0) = TextBox1.Text
        table.Rows.Add(row)
        'Aca es necesario "guardar" el estado de la tabla
        ViewState("tableInViewState") = table
 
        table.AcceptChanges()
 
        GridView1.DataSource = table
        GridView1.DataBind()
 
 
**** En el Load:
 
        If (Me.ViewState("tableInViewState") IsNot Nothing) Then
            table = CType(Me.ViewState("tableInViewState"), DataTable)
        Else
            table.Columns.Add(New DataColumn("codigo", GetType(String)))
        End If
 
        Session("FillSN") = table
 
**** En el Pre render:
 
        Me.ViewState.Add("tableInViewState", table)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Llenar GridView Manualmente

Publicado por Vane (1 intervención) el 20/11/2012 22:24:23
Usando asp en web, sale el boton editar para llenar los datos al gridview, entonces para que los datos queden en ese registro se preciona actualizar... Pero el problema quer tengo es que como va a actualizar si no tiene un datasourceid... mi pregunta es, como lleno un registro manulamente y al presionar el linkbutton actualizar se actualice el campo..., en estoy trabajando con base de datos aun, solo lleno el gridview y al final presiono guardar y esos datos sacarlos del grid y enviarlos a la base de datos........ Hepme!!!!!!!..


Ademas, para agregar registro vacios hago lo siguiente:

En el load:

1
2
3
4
5
6
7
8
9
10
11
12
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Dim dt As New DataTable
            dt.Columns.Add("id")
            dt.Columns.Add("Nombre")
            dt.Columns.Add("Telefono")
            dt.Rows.Add()
            Me.GridViewContactos.DataSource = dt
            Me.GridViewContactos.DataBind()
            Session("tablaSesion") = dt
 
        End If

creo un metodo para agregar registros

1
2
3
4
5
6
7
8
9
10
11
12
Sub crea_registro_tabla()
        Dim tabAgre As New DataTable
        tabAgre = Session("tablaSesion")
 
        Dim filAgre As DataRow = tabAgre.NewRow
 
        tabAgre.Rows.Add()
        Session("tablaSesion") = tabAgre
 
        Me.GridViewContactos.DataSource = tabAgre
        Me.GridViewContactos.DataBind()
End Sub

En el boton agregar llamo al metodo:

1
2
3
Protected Sub btnAgregar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAgregar.Click
        crea_registro_tabla()
    End Sub

Activo edicion en al gridview para editar los campos del grid. y activo update tb, para ejecutar edicion y actualizar se ingresa a los metodos del grid, pero no puedo hacer referencia al indice de la tabla, pues no esta relacionado aun con un origen de datos... :( quien sabe??
como ya dije,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Llenar GridView Manualmente

Publicado por victor (1 intervención) el 25/08/2015 03:46:28
Gracias, este correo me sirvio se lo recomiendo que lo usen
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar