Insertar Fila en DataSet

23/03/2006 - 14:19 por Jorge | Informe spam
Amigos este es el codigo que utilizo...ojo que MyArchivo.xml esta vacio y mi
DataGridview1 tiene 4 columnas que le especifique.

Dim ds as New DataSet()
ds.ReadXml("C:\...\MyArchivo.xml")
Datagridview1.datasource = ds.Tables(0)

Al ejecutar este codigo que esta dentro de un evento click de un boton,
logicamente la Grilla no carga nada, solo aparecen las 4 columnas, como hago
para adicionar una fila a mi DataGridview1, para ingresarle datos y luego
guardar esa grilla en formato XML...

Gracias.
 

Leer las respuestas

#1 Luis Miguel Blanco
27/03/2006 - 00:50 | Informe spam
Hola Jorge

Creo que el problema reside en tu archivo xml, ya que aunque el control
DataGridView lo hayas diseñado con las columnas necesarias, el archivo xml
que cargas en el dataset necesita tener al menos una fila, aunque esta esté
vacía.

Por ejemplo, supongamos una estructura de tabla como la siguiente:

EMPLEADOS
==IDEmpleado
Nombre
Ciudad

Partiendo de esta estructura, creamos un archivo xml con el siguiente
contenido:

'/// DatosBase.xml /////////////////////
<?xml version="1.0" encoding="utf-8" ?>
<Empleados>
<Empleado>
<IDEmpleado></IDEmpleado>
<Nombre></Nombre>
<Ciudad></Ciudad>
</Empleado>
</Empleados>
'////////////////////////////////////////////

A continuación añadimos un control DataGridView al formulario, al que no
haría falta diseñarle columnas, ya que las va a tomar automáticamente cuando
le asignemos el dataset. También añadimos un botón, en el que crearemos un
dataset vacío, que cargaremos con el archivo xml anterior, y asignaremos al
DataGridView, como vemos en el siguiente bloque de código:

'////////////////////////////////////////////
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim dsDatos As DataSet = New DataSet()
dsDatos.ReadXml("c:\DatosBase.xml")

Me.DataGridView1.DataSource = dsDatos
Me.DataGridView1.DataMember = "Empleado"
End Sub
'////////////////////////////////////////////

Como resultado, se cargará la estructura de la tabla del dataset en el
DataGridView, y mostrará una fila vacía; a partir de aquí podemos ir
rellenando esa fila y las que necesitemos. Una vez que hayamos creado todos
los registros que necesitemos, grabamos el contenido del dataset asociado al
DataGridView en un archivo xml, de forma similar a la siguiente:

'////////////////////////////////////////////
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim dsNuevo As DataSet
dsNuevo = Me.DataGridView1.DataSource
dsNuevo.WriteXml("c:\DatosDestino.xml")
End Sub
'////////////////////////////////////////////

Con esto, obtendrías los datos que has añadido al control grid, en un
archivo xml.

Espero que te sea de ayuda.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Jorge" wrote:

Amigos este es el codigo que utilizo...ojo que MyArchivo.xml esta vacio y mi
DataGridview1 tiene 4 columnas que le especifique.

Dim ds as New DataSet()
ds.ReadXml("C:\...\MyArchivo.xml")
Datagridview1.datasource = ds.Tables(0)

Al ejecutar este codigo que esta dentro de un evento click de un boton,
logicamente la Grilla no carga nada, solo aparecen las 4 columnas, como hago
para adicionar una fila a mi DataGridview1, para ingresarle datos y luego
guardar esa grilla en formato XML...

Gracias.





Preguntas similares