Hola como estan tengo la siquiente consulta quiero listar varias propiedade de la clase process
estoy usando controles telerik.
El problema que tengo es que no me lista el id ni el nombre del proceso por columnas pero sin columnas si me los lista.
aca dejo el codigo.
Dim procesos As New Process
Dim lvlItem As New ListViewDataItem()
'Dim Contador As Integer = 0
'No me muestra los datos correctamente
For Each procesos In Process.GetProcesses()
Me.ListaProcesos.Items.Add(lvlItem)
lvlItem.Item(0) = procesos.Id 'ha la columna 1 le asigno el id de los procesos
lvlItem.Item(1) = procesos.ProcessName 'ha la columna 2 le asigno el nombre
Next
For Each procesos In Process.GetProcesses()
RadListView1.Items.Add(procesos.Id)
Next
For Each procesos In Process.GetProcesses()
RadListView2.Items.Add(procesos.ProcessName)
Next
El problema es que no me los lista en las columnas aca un ejemplo.
(http://4.bp.blogspot.com/-OG-d8uKN7wM/VYTnlqbdUXI/AAAAAAAAA9g/bVrhDX9FQhM/s1600/Imagen.png)
Saludos.
Cita de: nolasco281 en 20 Junio 2015, 06:03 AMDim lvlItem As New ListViewDataItem()
For Each procesos In Process.GetProcesses()
Me.ListaProcesos.Items.Add(lvlItem)
lvlItem.Item(0) = procesos.Id 'ha la columna 1 le asigno el id de los procesos
lvlItem.Item(1) = procesos.ProcessName 'ha la columna 2 le asigno el nombre
Next
Estás manipulando siempre la misma referencia, es decir, estás reemplazando los valores en el mismo objeto todo el rato.
Instancia un objeto del tipo
ListViewDataItem para cada item y resolverás el problema.
O añade directamente los valores "id" y "Processname" a la colección
RadListView1.Items, usando el overload de los métodos
Add o
AddRange que toman cómo argumento un Array de objetos.
Saludos!
Hola gracias por responder sos un genio ;-).
Esta es la segunda solucion que me das andubo perfecto
For Each procesos In Process.GetProcesses()
Me.ListaProcesos.Items.Add(procesos.Id, procesos.ProcessName)
Next
Aunque la primera no termino de entender muy bien
CitarInstancia un objeto del tipo ListViewDataItem para cada item
Dim lvlItem As New ListViewDataItem()
Dim lvlItem1 As New ListViewDataItem()
For Each procesos In Process.GetProcesses()
Me.ListaProcesos.Items.Add(lvlItem)
Me.ListaProcesos.Items.Add(lvlItem1)
lvlItem.Item(0) = procesos.Id
lvlItem1.Item(1) = procesos.ProcessName
Next
Se que esta malisimo eso que escribi arriba pero no termino de entender la idea.
Gracias por la ayuda.
Saludos
Cita de: nolasco281 en 20 Junio 2015, 08:48 AMla primera no termino de entender muy bien
Ejemplo:
Dim lvItems As New List(Of ListViewDataItem)
For Each p As Process In Process.GetProcesses()
Using lvItem As New ListViewDataItem
With lvItem
.Item(0) = p.Id
.Item(1) = p.ProcessName
End With
lvItems.Add(lvItem)
End Using
Next p
With Me.RadListView1
.Columns.Add("PID")
.Columns.Add("Process Name")
.ViewType = ListViewType.DetailsView
.Items.AddRange(lvItems.ToArray)
End WithSaludos!
Ya en tiendo a que te referias con
Citarpara cada item
:-(
Me disculpo por las molestias muchas gracias por tu tiempo
Eleкtro.
(http://3.bp.blogspot.com/-swspepA1IN8/VYUVkRuTzYI/AAAAAAAAA9w/J8BF0ozZs6c/s1600/result.png)
Gracias de nuevo y saludos.