ingresar subitems en un listview

Iniciado por llAudioslavell, 13 Septiembre 2011, 10:36 AM

0 Miembros y 1 Visitante están viendo este tema.

llAudioslavell

ola a todos bueno estoy aqui molestandolos con mis pequeños problemas.. disculpenme ^^

bueno  estoy empezando a manejar el listview y quiero dominarlo... solo llegue a agregar items y un subitems via code

        ListView1.View = View.Details
        ListView1.Columns.Add("ID")
        ListView1.Columns.Add("Nombre de Juego")
        ListView1.Columns.Add("Descripcion")

        ListView1.Items.Add("001").SubItems.Add("Rakion")
        ListView1.Items.Add("002").SubItems.Add("Starcraft")

pero ahora como aria para agregar mas subitems.. por ejemplo una descripcion para el 1er juego ......  solo posteo hasta donde me atraco ^^  en esto nadie me ayudo yo solo lo hize  viendo las propiedades del listview.. espero alguna ayuda .. Gracias ^^

aaaya me olvidaba... tambien como aria para agregar un pequeño icono a cada cabezera de columna... se que se haze desde un imagelist .. pero no se como agregar los iconos por via code  :-\ .... espero ayuda.. muchas gracias :D

Keyen Night

Pues cada vez que agregues un nuevo item la función devuelve un objeto ListViewItem y puedes volver a llamar a SubItems.Add tantas columnas haya:

Código (vb.net) [Seleccionar]

Dim x As ListViewItem = ListView1.Add("Este Valor va en la cloumna 1")
x.SubItems.Add("Este en la columna 2")
x.SubItems.Add("Este en la columna 3")
x.SubItems.Add("Este en la columna 4")
x.SubItems.Add("Este en la columna 5")
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

llAudioslavell

Cita de: Keyen Night en 14 Septiembre 2011, 02:44 AM
Pues cada vez que agregues un nuevo item la función devuelve un objeto ListViewItem y puedes volver a llamar a SubItems.Add tantas columnas haya:

Código (vb.net) [Seleccionar]

Dim x As ListViewItem = ListView1.Add("Este Valor va en la cloumna 1")
x.SubItems.Add("Este en la columna 2")
x.SubItems.Add("Este en la columna 3")
x.SubItems.Add("Este en la columna 4")
x.SubItems.Add("Este en la columna 5")


jeje si ya lo resolvi.... Gracias  ;-) ... pero ahora quisiera  guardar los items del listview en un archivo  .txt ... :-\ como podria hacerlo... guardar desde un textbox a un txt es simple
       Const ruta As String = "C:\Archivos de programa\data.txt"
        Dim resultado As New System.IO.StreamWriter(ruta)

        guardar.WriteLine(ListBox1.Items)
        resultado.WriteLine(txt_resultado.Text)
        resultado.Close()


pero como ya les dije...  mi problema es con el listview.. espero sus ayudas  ^^ !!!

Keyen Night

#3
Podrías guardar todos los Items con sus SubItems por línea en un archivo de texto separados por comas y al cargalos leer el archivo línea por línea además usar Split para separar por la coma cada valor y así cargarlos en el ListView. No te coloco un código de ejemplo por que no tengo Vb ahorita. Pero es más o menos recorrer los Items del ListView guardando los SubItems en una línea del archivo separando los valores por comas cuando pasemos al otro Item bajamos a la otra línea y así.

La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

llAudioslavell

Cita de: Keyen Night en 14 Septiembre 2011, 04:47 AM
Podrías guardar todos los Items con sus SubItems por línea en un archivo de texto separados por comas y al cargalos leer el archivo línea por línea además usar Split para separar por la ocma cada valor y así cargarlos en el ListView. No te coloco un código de ejemplo por que no tengo Vb ahorita. Pero es más o menos recorrer los Items del ListView guardando los SubItems en una línea del archivo separando los valores por comas cuando pasemos al otro Item bajamos a la otra línea y así.


en teoria suena facil man.... pero el problema esta  en el code...... esperare mas ayuda man  !!! gracias  ;)

Keyen Night

Creo que deberías esforzarte más en al menos tratar de pasar una idea a código, sobretodo cuando es algo simple.

Código (vb.net) [Seleccionar]

Dim S As New StreamWriter("C:\Archivo.txt")
Dim L As String = Nothing

     For Each X As ListViewItem In ListView1.Items

         For Each Y As ListViewItem In X.SubItems
               L += Y.Text & ";"
         Next

     L = L.Remove(L.Lenght - 1, 1) 'Quita el ";" sobrante
     S.WriteLine(L)
     L = Nothing

    Next

S.Close()


Puede tener errores ya que lo escribi aquí mismo. Ahora que tienes la idea en código puedes hacer el respectivo que carga los datos.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

llAudioslavell

Cita de: Keyen Night en 14 Septiembre 2011, 06:01 AM
Creo que deberías esforzarte más en al menos tratar de pasar una idea a código, sobretodo cuando es algo simple.

Código (vb.net) [Seleccionar]

Dim S As New StreamWriter("C:\Archivo.txt")
Dim L As String = Nothing

     For Each X As ListViewItem In ListView1.Items

         For Each Y As ListViewItem In X.SubItems
               L += Y.Text & ";"
         Next

     L = L.Remove(L.Lenght - 1, 1) 'Quita el ";" sobrante
     S.WriteLine(L)
     L = Nothing

    Next

S.Close()


Puede tener errores ya que lo escribi aquí mismo. Ahora que tienes la idea en código puedes hacer el respectivo que carga los datos.



        Const ruta As String = "C:\data.txt"


        Dim index As New System.IO.StreamWriter(ruta)
        index.WriteLine(ListView1.Items)
        index.Close()


yo intente con esto.. se que esta mal es mas esta pesimo !!!....  mmmm probare tu ayuda man,.,. no creas que todo lo pido echo,...  gracias hermano ^^