Data Grid

10/05/2004 - 11:20 por Sara | Informe spam
Buenas a todos. Tengo una pregunta,sabeis si existe algun objeto como un
data grid pero que no tenga porque estar conectado a una BBDD sino a un
fichero.
Tengo un fichero con una tamaño de registro de 43 posiciones.No tengo
separadores entre registros y los tengo todos en línea lo que necesito es
que me lo muestre cada registro como en un Data Grid y desde ahi pueda
editar cada registro. Conoceis algun objeto que me sirva.
Gracias chicos.
Ta lueeeeee

Preguntas similare

Leer las respuestas

#6 Octavio Hernandez
13/05/2004 - 22:52 | Informe spam
Ahí va un ejemplillo. Pon en un formulario un DataGrid y dos botones, cada
uno con un evento Click():

// esta variable es común para la clase

private DataTable tablaTrabajo = new DataTable("DATOS");

// inicialización

private void Form1_Load(object sender, System.EventArgs e)

{

// asignar la estructura de la tabla

tablaTrabajo.Columns.Add(new DataColumn("CODIGO", typeof(int)));

tablaTrabajo.Columns.Add(new DataColumn("DIA", typeof(int)));

tablaTrabajo.Columns.Add(new DataColumn("MES", typeof(int)));

tablaTrabajo.Columns.Add(new DataColumn("ANNO", typeof(int)));

// asociar la rejilla a la tabla

dataGrid1.DataSource = tablaTrabajo;

}

// lectura

private void button1_Click(object sender, System.EventArgs e)

{

tablaTrabajo.Rows.Clear();

System.IO.StreamReader r = new System.IO.StreamReader("C:\\Datos.txt");

string s = null;

while ((s = r.ReadLine()) != null)

{

// agregar una fila a la tabla

DataRow dr = tablaTrabajo.NewRow();

dr["CODIGO"] = int.Parse(s.Substring(0, 3));

dr["DIA"] = int.Parse(s.Substring(3, 2));

dr["MES"] = int.Parse(s.Substring(5, 2));

dr["ANNO"] = int.Parse(s.Substring(7, 4));

tablaTrabajo.Rows.Add(dr);

}

r.Close();

}

// grabación

private void button2_Click(object sender, System.EventArgs e)

{

// sobreescribir el fichero

System.IO.StreamWriter w = new System.IO.StreamWriter("C:\\Datos.txt",
false);

foreach (DataRow dr in tablaTrabajo.Rows)

{

w.WriteLine(

((int)dr["CODIGO"]).ToString("D3") +

((int)dr["DIA"]).ToString("D2") +

((int)dr["MES"]).ToString("D2") +

((int)dr["ANNO"]).ToString("D4"));

}

w.Close();

}

El fichero C:\Datos.txt lo puedes inicializar con estas líneas:

00124121984
00225011978
00304021996
00406081970

-

"Sara" escribió en el mensaje
news:
Gracias chicos,pero es que no puedo crear una tabla,la cuestión es que


solo
puedo utilizar ficheros. Veremos como lo hacemos, pero gracias.
Ta lueeeeeeeeeee
"Octavio Hernandez" escribió en el mensaje
news:%
> Hola,
>
> ¿Por qué no cargas los datos del fichero en un objeto DataTable? Harían
> falta dos métodos:
>
> a) Uno para cargar los datos del fichero en la tabla.
> b) La tabla la conectarías a la rejilla para su edición.
> c) Otro método Grabar() que cogiera los datos de la tabla y los


escribiera
> al fichero.
>
> Una idea para implementar bien esto podría ser crear una clase que


incluya
> como campo un objeto DataTable.
>
> Slds,
>
> Octavio
>
> "Sara" escribió en el mensaje
> news:
> > Buenas a todos. Tengo una pregunta,sabeis si existe algun objeto como


un
> > data grid pero que no tenga porque estar conectado a una BBDD sino a


un
> > fichero.
> > Tengo un fichero con una tamaño de registro de 43 posiciones.No tengo
> > separadores entre registros y los tengo todos en línea lo que necesito
es
> > que me lo muestre cada registro como en un Data Grid y desde ahi pueda
> > editar cada registro. Conoceis algun objeto que me sirva.
> > Gracias chicos.
> > Ta lueeeeee
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Sara
17/05/2004 - 12:44 | Informe spam
Muchisimas gracias Octavio,jo es que estoy superpez pero este ejemplo es
genial,muchas gracias majo
"Octavio Hernandez" escribió en el mensaje
news:
Ahí va un ejemplillo. Pon en un formulario un DataGrid y dos botones, cada
uno con un evento Click():

// esta variable es común para la clase

private DataTable tablaTrabajo = new DataTable("DATOS");

// inicialización

private void Form1_Load(object sender, System.EventArgs e)

{

// asignar la estructura de la tabla

tablaTrabajo.Columns.Add(new DataColumn("CODIGO", typeof(int)));

tablaTrabajo.Columns.Add(new DataColumn("DIA", typeof(int)));

tablaTrabajo.Columns.Add(new DataColumn("MES", typeof(int)));

tablaTrabajo.Columns.Add(new DataColumn("ANNO", typeof(int)));

// asociar la rejilla a la tabla

dataGrid1.DataSource = tablaTrabajo;

}

// lectura

private void button1_Click(object sender, System.EventArgs e)

{

tablaTrabajo.Rows.Clear();

System.IO.StreamReader r = new System.IO.StreamReader("C:\\Datos.txt");

string s = null;

while ((s = r.ReadLine()) != null)

{

// agregar una fila a la tabla

DataRow dr = tablaTrabajo.NewRow();

dr["CODIGO"] = int.Parse(s.Substring(0, 3));

dr["DIA"] = int.Parse(s.Substring(3, 2));

dr["MES"] = int.Parse(s.Substring(5, 2));

dr["ANNO"] = int.Parse(s.Substring(7, 4));

tablaTrabajo.Rows.Add(dr);

}

r.Close();

}

// grabación

private void button2_Click(object sender, System.EventArgs e)

{

// sobreescribir el fichero

System.IO.StreamWriter w = new System.IO.StreamWriter("C:\\Datos.txt",
false);

foreach (DataRow dr in tablaTrabajo.Rows)

{

w.WriteLine(

((int)dr["CODIGO"]).ToString("D3") +

((int)dr["DIA"]).ToString("D2") +

((int)dr["MES"]).ToString("D2") +

((int)dr["ANNO"]).ToString("D4"));

}

w.Close();

}

El fichero C:\Datos.txt lo puedes inicializar con estas líneas:

00124121984
00225011978
00304021996
00406081970

-

"Sara" escribió en el mensaje
news:
> Gracias chicos,pero es que no puedo crear una tabla,la cuestión es que
solo
> puedo utilizar ficheros. Veremos como lo hacemos, pero gracias.
> Ta lueeeeeeeeeee
> "Octavio Hernandez" escribió en el mensaje
> news:%
> > Hola,
> >
> > ¿Por qué no cargas los datos del fichero en un objeto DataTable?


Harían
> > falta dos métodos:
> >
> > a) Uno para cargar los datos del fichero en la tabla.
> > b) La tabla la conectarías a la rejilla para su edición.
> > c) Otro método Grabar() que cogiera los datos de la tabla y los
escribiera
> > al fichero.
> >
> > Una idea para implementar bien esto podría ser crear una clase que
incluya
> > como campo un objeto DataTable.
> >
> > Slds,
> >
> > Octavio
> >
> > "Sara" escribió en el mensaje
> > news:
> > > Buenas a todos. Tengo una pregunta,sabeis si existe algun objeto


como
un
> > > data grid pero que no tenga porque estar conectado a una BBDD sino a
un
> > > fichero.
> > > Tengo un fichero con una tamaño de registro de 43 posiciones.No


tengo
> > > separadores entre registros y los tengo todos en línea lo que


necesito
> es
> > > que me lo muestre cada registro como en un Data Grid y desde ahi


pueda
> > > editar cada registro. Conoceis algun objeto que me sirva.
> > > Gracias chicos.
> > > Ta lueeeeee
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida