Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 07-jun-2007, 11:13   #1 (permalink)
YTOTAL ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Crear filas nuevas en un datatable con un gridview

Buenos dias para todos

Me podrian ayudar por favor con lo siguiente lo que necestio es que cuando presio un boton se me agregue una nueva fila a mi datatable y se conserve la proxima vez que vuelva a presionar se agregue una nueva

Gracias
YTOTAL está desconectado   Responder Citando
Antiguo 07-jun-2007, 14:55   #2 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.298
Enviar un mensaje por Skype™ a moNTeZIon
Re: Crear filas nuevas en un datatable con un gridview

Para agregar una fila a un datatable:
Código:
Dim dRow as DataRow = miDataTable.NewRow()
dRow("Columna1") = "pepe"
dRow("Columna2") = "pipi"
[...]
miDataTable.Rows.Add(dRow)
Con esto ya lo tendrías. Y esto lo que tiene que resultar es con tu propósito, cada vez que se ejecute ese código, se le agrega una fila a tu DataTable.
Espero te sirva.
Saludos.
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 07-jun-2007, 16:11   #3 (permalink)
YTOTAL ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Re: Crear filas nuevas en un datatable con un gridview

PRIMERO QUE TODO MUCHAS GRACIAS POR RESPONDER
MIRA YA INTENTE LO QUE ME DIJISTE YO YA HABIA ECHO ALGO SIMILAR PERO ME SALE EL SIGUIENTE ERROR

Column 'Columna1' does not belong to table .

SI DEPRONTO SABES QUE ES ESPERO QUE ME PUEDAS AYUDAR
YTOTAL está desconectado   Responder Citando
Antiguo 08-jun-2007, 01:43   #4 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.298
Enviar un mensaje por Skype™ a moNTeZIon
Re: Crear filas nuevas en un datatable con un gridview

Te puse "Columna1" a modo de ejemplo, hombre!
Tu debes saber cómo se llaman tus columnas
Si no, también tienes la opción de referenciarlas por numero de índice, y no por nombre...
Un saludo!
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 08-jun-2007, 02:14   #5 (permalink)
guitar24 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 16
Re: Crear filas nuevas en un datatable con un gridview

hola yo tengo el mismo problema, el usuario escoge los valores en unos combos y cada vez q escoge uno se insertaría en una tabla dinámica, pero no me guarda el anterior combo escogido. ¿Cómo se puede hacer esto?
guitar24 está desconectado   Responder Citando
Antiguo 08-jun-2007, 07:43   #6 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.298
Enviar un mensaje por Skype™ a moNTeZIon
Re: Crear filas nuevas en un datatable con un gridview

Hola guitar24.
Demasiado genérica tu pregunta, en mi opinión.
Arriba expuse cómo añadir una Row a un DataTable. Y creo que eso ya lo teneis claro, porqué el code es simple.
Intenta concretar donde tienes el problema. Es al obtener el dato elegido en el combo? o cuál es el problema exactamente?
Venga, un saludo!
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 08-jun-2007, 07:57   #7 (permalink)
YTOTAL ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Re: Crear filas nuevas en un datatable con un gridview

Pero por supuesto es que mis columnas se llaman asi las puse con tu ejemplo
como te dije yo intente algo similar pero me sale el mismo error con las columnas ya sea con tu nombre con el que sea.

Un saludo,
YTOTAL está desconectado   Responder Citando
Antiguo 08-jun-2007, 08:21   #8 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.298
Enviar un mensaje por Skype™ a moNTeZIon
Re: Crear filas nuevas en un datatable con un gridview

Hola YTOTAL.
El ejemplo no crea columnas, solo las referencia obviando que se llaman así.
Me pregunto si el problema será que partes de un DataTable vacío, acabado de declarar.
En tal caso, tienes que "definir" sus columnas.
esto se hace así:
Código:
Dim miDataTable As New DataTable
miDataTable.Columns.Add("Columna1")
miDataTable.Columns.Add("Columna2")
[...]
Y luego si, con el codigo de arriba se le agregan filas a este DataTable.
A ver si hay suerte!
De todas formas, siempre es bueno mostrar vuestro código, así vemos un poco dónde puede estar la cosa.
Suerte!
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 08-jun-2007, 08:43   #9 (permalink)
YTOTAL ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Re: Crear filas nuevas en un datatable con un gridview

Muchas gracias nuevamente mira ya lo declare como me dijiste y tienes toda la razon se me olvido declarar las columnas pero yo lo habia echo asi, en fin vuelvo a mi problema inicial cuando presiono un boton voy al metodo donde supuestamente deberia crar las nuevas filas el cual tengo con tu ejemplo
ahora en el grid se crea la primera fila pero cuando vuelvo a presionar no pasa nada no se crea una segunda fila en el datagridview

este es el metodo
miDataTable.Columns.Add("Columna1")
miDataTable.Columns.Add("Columna2")

Dim dRow As DataRow = miDataTable.NewRow()
dRow("Columna1") = "pepe"
dRow("Columna2") = "pP"

miDataTable.Rows.Add(dRow)
GridView2.DataSource = miDataTable
GridView2.DataBind()
YTOTAL está desconectado   Responder Citando
Antiguo 08-jun-2007, 08:54   #10 (permalink)
moNTeZIon ha deshabilitado el karma
 
Avatar de moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: CanFenosa Martorelles BCN
Mensajes: 1.298
Enviar un mensaje por Skype™ a moNTeZIon
Re: Crear filas nuevas en un datatable con un gridview

mmm... creas las columnas en el momento de agregar una fila?
Yo pienso que el DataTable ya deberías tenerlo creado y definido.
Y en este método solamente agregarle una fila...
Pero todo esto es para guardar en base de datos? o para que?
Cada vez que vuelves de un postback la cosa empieza de nuevo, por eso siempre tienes una sola fila.
__________________
..:: moNTeZIon ::..
moNTeZIon está desconectado   Responder Citando
Antiguo 08-jun-2007, 09:37   #11 (permalink)
YTOTAL ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Re: Crear filas nuevas en un datatable con un gridview

si creo las columnas en el momento de agregar la fila pero es que si no lo hago en el mismo metodo me sale el error de que no conoce ese nombre de columna cuando lo hago en un metodo diferente el que te mostre, ahora el datatable ya esta creado previamente no es problema

encuanto a lo que si es para guardarlo en la DB si es para eso lo que pasa es que tengo que almacenar los datos para despues de otros procesos guardar

Un saludo,

Última edición por YTOTAL; 08-jun-2007 a las 09:43.
YTOTAL está desconectado   Responder Citando
Antiguo 08-jun-2007, 09:46   #12 (permalink)
guitar24 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 16
Re: Crear filas nuevas en un datatable con un gridview

hola moNTeZIon, tienes razón no me he explicado correctamente.
Tengo un formulario en el que defino unos combos para seleccionar un idioma y el nivel que se tiene; y una tabla que en principio está
vacía y no visible. Inicialmente, al usuario se le presentan los combos para elegir, elige, presiona el botón añadir y la tabla se hace visible
introduciendo como fila los valores escogidos en los combos. Mi problema es que cuando el usuario escoge el siguiente idioma, la página se
recarga,me borra la fila anterior y sólo me aparece la nueva fila.
Mi código de la tabla en el formulario (.aspx) es el siguiente:

<asp:table id="tabla_idioma" style="Z-INDEX: 111; LEFT: 40px; POSITION: absolute; TOP: 224px"
runat="server" Width="536px" Height="32px" Visible="False" BorderColor="DarkGray" BorderStyle="Solid"
BorderWidth="1px" CellPadding="5" CellSpacing="0" EnableViewState="False">
<asp:TableRow EnableViewState="False" BackColor="LightBlue">
<asp:TableCell Runat="server" ID="Tablecell1">
<asp:Label ID="idi" Runat="server">Idioma</asp:Label>
</asp:TableCell>
<asp:TableCell Runat="server" ID="Tablecell2">
<asp:Label ID="oral" Runat="server">Comprensión Oral</asp:Label>
</asp:TableCell>
<asp:TableCell>
<asp:Label ID="escrita" Runat="server">Comprensión Escrita</asp:Label>
</asp:TableCell>
<asp:TableCell>
<asp:Label ID="lectura" Runat="server">Lectura</asp:Label>
</asp:TableCell>
<asp:TableCell></asp:TableCell>
<asp:TableCell></asp:TableCell>
<asp:TableCell></asp:TableCell>
</asp:TableRow>

</asp:table>

Mi código en .aspx.vb es el siguiente:

Private Sub btn_insertar_idioma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_insertar_idioma.Click

tabla_idioma.Visible = True
btn_guardar.Visible = True

Dim nueva_fila As TableRow
Dim nueva_celda As TableCell

nueva_fila = New TableRow

nueva_celda = New TableCell
nueva_celda.Text = dl_idioma.SelectedItem.Text
nueva_fila.Cells.Add(nueva_celda)

nueva_celda = New TableCell
nueva_celda.Text = dl_oral.SelectedItem.Text
nueva_fila.Cells.Add(nueva_celda)

nueva_celda = New TableCell
nueva_celda.Text = dl_escrita.SelectedItem.Text
nueva_fila.Cells.Add(nueva_celda)

nueva_celda = New TableCell
nueva_celda.Text = dl_lectura.SelectedItem.Text
nueva_fila.Cells.Add(nueva_celda)

modificar.Text = "Modificar "
modificar.Enabled = True
modificar.NavigateUrl = "datos_idiomas.aspx?cambiar=si"

eliminar.Text = " Eliminar"
eliminar.Enabled = True
eliminar.NavigateUrl = "modificar_datos_idioma.aspx"

nueva_celda = New TableCell
nueva_celda.Controls.Add(modificar)
nueva_fila.Cells.Add(nueva_celda)

nueva_celda = New TableCell
nueva_celda.Text = "|"
nueva_fila.Cells.Add(nueva_celda)

nueva_celda = New TableCell
nueva_celda.Controls.Add(eliminar)
nueva_fila.Cells.Add(nueva_celda)

tabla_idioma.Rows.Add(nueva_fila)
End sub

A ver si me puedes echar una mano. Gracias por tu atención.
guitar24 está desconectado   Responder Citando
Antiguo 11-jun-2007, 03:07   #13 (permalink)
guitar24 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 16
Re: Crear filas nuevas en un datatable con un gridview

Ahora he creado una variable de sesión que guarda la tabla. Pero ne me visualiza las filas que voy añadiendo, pq pasa esto?? Tb he probado lo del ispostback pero tampoco es la solución.
Por favor ayuda,
guitar24 está desconectado   Responder Citando
Antiguo 22-jul-2008, 20:53   #14 (permalink)
dariu800 ha deshabilitado el karma
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Respuesta: Crear filas nuevas en un datatable con un gridview

Hola!! soy nuevo en este foro...y este es mi primer post....justamente encontre este foro buscando la solucion para el mismo problema que tiene guitar24.
yo ahora no tengo el codigo, pero lo que hice fue colocar en el page load, el codigo para crear el datatable, las columnas y las filas. y en un boton lo unico que hago es agregar una fila nueva con un codigo similar a este:

Dim dRow as DataRow = miDataTable.NewRow()
dRow("Columna1") = "pepe"
dRow("Columna2") = "pipi"
[...]
miDataTable.Rows.Add(dRow)

me anda sin problemas, y me agrega la fila...el tema es cuando quiero agregar otra, que no se si me borra la anterio por el postback o sobre escribe la linea...
voy a estar atento a el tema, y si encuentro la solucion la subire lo mas rapido posible
dariu800 está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 2,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:56.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93