Autor
|
Tema: Desplegar un archivo en forma de tabla con c# en windows aplicattion (Leído 7,331 veces)
|
nico56
Desconectado
Mensajes: 246
|
Hola que tal, tengo un archivo con la siguiente forma nombre1;telefono1; nombre2;telefono2;
Como veran uso el ";" como delimitador en el string. Tengo una función que va leyendo el archivo y guardando en dos variables distintas el nombre y el telefono: public void miFuncion() { string[] campos; char[] x={';'} //delimitador
FileStream fs = new FileStream("C:\\Archivo.txt", FileMode.Open); StreamReader sr = new StreamReader(fs); while (!sr.EndOfStream) { string linea = sr.ReadLine(); campos=linea.split(x); } sr.Close(); fs.Close(); }
Entonces en el codigo anterior me queda en "campos[0]" el nombre, y en "campos[1]" el telefono, que herramienta puedo usar para ir mostrandolo en forma de lista con tabulaciones. Probe de usar un texBox pero me queda muy desalineado las columnas :S . Desde ya gracias y saludos.
|
|
« Última modificación: 2 Enero 2010, 19:17 pm por nico56 »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Con un listbox y ya Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
nico56
Desconectado
Mensajes: 246
|
El listbox tiene una propiedad que se llama "multicolumn" la pongo en true, pero donde pongo la cantidad de columnas. ?
|
|
|
En línea
|
|
|
|
seba123neo
|
yo lo haria en un listview, podes poner las cabeceras y personalizarlo como quieras, por si acaso alguna vez, en vez de 2 campos tenes 10, te va a quedar mejor con un listview.
saludos.
|
|
|
En línea
|
|
|
|
nico56
Desconectado
Mensajes: 246
|
yo lo haria en un listview, podes poner las cabeceras y personalizarlo como quieras, por si acaso alguna vez, en vez de 2 campos tenes 10, te va a quedar mejor con un listview.
saludos.
Hola, si en realidad es para una tabla de 10 columnas, pero para no complicar aca las cosas en el foro lo pregunte para 2, total si me sale con 2 me sale con 10. Podrias explicarme como lo harias con un listView porque no le encuentro la vuelta. Gracias.
|
|
|
En línea
|
|
|
|
Shell Root
|
El listbox tiene una propiedad que se llama "multicolumn" la pongo en true, pero donde pongo la cantidad de columnas. ? ListBox1.Items.AddRange(New Object() {"Nombre, Telefono"})
Pero sale muy desorganizado. Podrias explicarme como lo harias con un listView porque no le encuentro la vuelta. Gracias. Lo del ListView, el code es de seba123neo Dim oReg As New ListViewItem("Item columna1") With ListView1 .View = View.Details .Columns.Add("Archivos ", 300) .Columns.Add("Modificación", 120) End With With oReg .SubItems.Add("Item Columna 2") ListView1.Items.Add(oReg) End With
Saludines!
|
|
|
En línea
|
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
|
|
|
nico56
Desconectado
Mensajes: 246
|
Hola shell root, gracias , no me quiero abusar pero podrias ponerlo en c#
|
|
|
En línea
|
|
|
|
seba123neo
|
es casi lo mismo, sacale el With ya que no existe esta instrucción en C#, y lo demas igual.
|
|
|
En línea
|
|
|
|
Shell Root
|
Hola shell root, gracias , no me quiero abusar pero podrias ponerlo en c# ListViewItem oReg = new ListViewItem("Item columna1"); ListView1.View = View.Details; ListView1.Columns.Add("Archivos ", 300); ListView1.Columns.Add("Modificación", 120); oReg.SubItems.Add("Item Columna 2"); ListView1.Items.Add(oReg);
|
|
|
En línea
|
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
|
|
|
nico56
Desconectado
Mensajes: 246
|
Gracias de vuelta, funciona perfecto cuando leo el primer registro del archivo, pero cuando le pongo un ciclo while para que lo haga con todo el archivo me dice que la variable "campos[1]" se paso del indice, que puede ser ? private void button1_Click(object sender, EventArgs e) { string[] campos; char[] x ={ ';' };//delimitador
FileStream fs = new FileStream("cheques.txt", FileMode.Open); StreamReader sr = new StreamReader(fs);
listView1.Columns.Add("FECHA ", 75); listView1.Columns.Add("CLIENTE", 100); listView1.Columns.Add("NUMERO", 75); listView1.Columns.Add("BANCO", 100); listView1.Columns.Add("VENCIMIENTO", 75); listView1.Columns.Add("IMPORTE", 75); listView1.Columns.Add("TENEDOR", 100);
while (sr.EndOfStream != true) { campos = sr.ReadLine().Split(x); ListViewItem oReg = new ListViewItem(campos[0]); listView1.View = View.Details; oReg.SubItems.Add(campos[1]);//cliente (ahi me tira el error) oReg.SubItems.Add(campos[2]);//numero oReg.SubItems.Add(campos[3]);//banco oReg.SubItems.Add(campos[4]);//vencimiento oReg.SubItems.Add(campos[5]);//importe oReg.SubItems.Add(campos[6]);//tenedor listView1.Items.Add(oReg); }
}
|
|
|
En línea
|
|
|
|
|
|