Visual Basic - Duda con ListView

Life is soft - evento anual de software empresarial
 
Vista:

Duda con ListView

Publicado por vbman (7 intervenciones) el 24/08/2006 02:09:29
¡Hola a todos foreros! Tengo una duda con un listview, vereis, he creado uno con tres cabeceras (titulo, autor y editorial) y no puedo acceder a los elementos de la primera columna, o sea, a los titulos. Si utilizo la siguiente instrucción

MsgBox lvL.ListItems(1).SubItems(0) me produce el sgte. error: "Error 380 en tiempo de ejecución, el valor de la propiedad no es valido".

Sin embargo, si pongo las instrucciones

MsgBox lvL.ListItems(1).SubItems(1)
MsgBox lvL.ListItems(1).SubItems(2)

me muestra el autor y editorial de la primera fila del listview. No se manejar muy bien este control, y al ver k estas dos ultimas lineas funcionaban, supuse k la columna "titulo" seria accesible desde "SubItems(0)", pero ya veo k no. Mi idea es recorrer el contenido del control mediante un bucle (un for), sustituyendo el primer indice por la variable de dicho bucle, a saber:

for i=1 to ListView.ListItems.Count
MsgBox lvL.ListItems(i).SubItems(1)
MsgBox lvL.ListItems(i).SubItems(2)
next i

Pero claro, aki me encuentro con el mencionado problema, el acceso a los datos de la primera columna.

Gracias mil a todos de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda con ListView

Publicado por LLE (3 intervenciones) el 24/08/2006 05:21:03
Un ejemplo para recorrer los elemetos

Private Sub Command1_Click()
Dim UnItem As ListItem
For i = 0 To 5
Set UnItem = lvL.ListItems.Add(, , "Item: " & i)
UnItem.SubItems(1) = "SubItem B: " & i
UnItem.SubItems(2) = "SubItem C: " & i
Next

End Sub

Private Sub Command2_Click()
With lvL

For i = 1 To lvL.ListItems.Count
MsgBox .ListItems(i)
For c = 1 To lvL.ColumnHeaders.Count - 1
MsgBox .ListItems(i).ListSubItems(c)

Next
Next

End With
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda con ListView

Publicado por vbman (7 intervenciones) el 25/08/2006 01:22:58
Un millon de gracias por tu respuesta, LLE, pero me encuentro con el sgte. problema: el metodo "ListSubItems" me da un error, el compilador me indica k no lo encuentra. No se a k se puede deber, ¿alguna idea? El codigo del boton command1 funciona perfectamente, rellena el listview con datos.

Gracias otra vez por tu tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Duda con ListView

Publicado por Jasall (27 intervenciones) el 25/08/2006 07:45:43
Buenas, es porque le falta la columna añadele este codigo :

Private Sub Form_Load()

With lvl
.View = lvwReport
.ColumnHeaders.Add , , "1ª Columna", lvl.Width / 3
.ColumnHeaders.Add , , "2ª Columna", lvl.Width / 3, vbCenter
.ColumnHeaders.Add , , "3ª Columna", lvl.Width / 3, vbCenter
End With
Command1.Caption = "Llenar"
Command2.Caption = "Listar"
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar