• Domingo 17 de Noviembre de 2024, 22:30

Autor Tema:  ListView  (Leído 2774 veces)

Ping Pong

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
ListView
« en: Domingo 30 de Mayo de 2010, 20:00 »
0
Hola
tengo un problema, necesito exportar un archivo txt a un listview y que este último separe los elementos del txt en columnas ¡PERO NO SOY CAPAZ DE CONSEGUIRLO!, el contenido entero del txt se guardar todo entero en la misma columna y ya me estoy volviendo loca ¿me podríais dar un consejo sobre qué hacer?, el txt es de la forma:

002|maria|maria@gmail.com|222217|
004|juan|juan@gmail.com|125578|

MUCHAS GRACIAS

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: ListView
« Respuesta #1 en: Lunes 31 de Mayo de 2010, 02:29 »
0
Código: C#
  1. using System;
  2. using System.IO;
  3. using System.Collections;
  4.  
  5. namespace TuProyecto
  6. {
  7.     class Class1
  8.     {
  9.         static void LeerAcrhivo()
  10.         {
  11.             StreamReader objReader = new StreamReader("c:\test.txt");   //aqui la ruta de tu archivo de texto
  12.             string sLine="";     //aqui se guardaran los caracteres de cada linea del texto que lea
  13.             ArrayList arrText = new ArrayList();  //al leer una nueva linea la guardo en este arrayList
  14.  
  15.             while (sLine != null)    //Leo las lineas del archivo mientras haya contenido
  16.             {
  17.                 sLine = objReader.ReadLine();   //Leo una linea
  18.                 if (sLine != null)  //Si la linea tiene letras o contenido, la agrego al array
  19.                     arrText.Add(sLine);
  20.             }
  21.                         objReader.Close();
  22.  
  23.                          //determino con que carácter es q separo un valor de otro en cada linea,
  24.                          //pude haber usado una coma pero en este caso uso el carácter que pusiste en tu ejemplo
  25.                         char[] caracterSeparador= new char[]{'|'};                
  26.  
  27.             foreach (string linea in arrText)
  28.             {
  29.                              ListviewItem miItem=new ListviewItem();   //el nuevo item para el listview
  30.  
  31.                              foreach(string subCadena in linea.Split(caracterSeparador))
  32.                              {
  33.                                     miItem.subitems.add(subCadena);
  34.                              }
  35.                         }
  36.            
  37.                         //En esta ultima parte cuando recorro una linea, hago que esa linea se convierta en un litem
  38.                         //en mi listview, y luego la descompongo en palabras, dividiendo la cadena completa en los lugares
  39.                         //en donde encuentre el caracter '|' que ya declare
  40.                         //luego leo las palabras que salgan y cada una la inserto en el item del listview como un subitem
  41.                         //si quiero cambiar el archivo para que se separen los valores con comas (,) basta con cambiar el valor de
  42.                         //la variable caracterSeparador
  43.  
  44.         }
  45.     }
  46. }
  47.  

Espero te sirva mi vida
Nuestro poder está creciendo mas rápido que nuestra sabiduria

Jeysscarr

  • Miembro MUY activo
  • ***
  • Mensajes: 134
  • Nacionalidad: co
    • Ver Perfil
Re: ListView
« Respuesta #2 en: Lunes 31 de Mayo de 2010, 02:32 »
0
Ah!, Si llegases a necesitar el codigo fuente mandame un mensaje al msn que aparece en mi perfil, suerte
Nuestro poder está creciendo mas rápido que nuestra sabiduria

Ping Pong

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: ListView
« Respuesta #3 en: Martes 1 de Junio de 2010, 09:59 »
0
¡MUCHAS GRACIAS!  :D  me vino muy bien el código que adjuntaste, ahora ya tengo las columnas perfectamente separadas y con un par de clases y un formulario anexo mas, ya tendré el programa listo.
gracias de nuevo, seguramente nos seguiremos viendo por aquí (y quien sabe, igual puedo ser capaz de resolver dudas de algún compañero... :P )