elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Listar procesos en listview.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Listar procesos en listview.  (Leído 3,128 veces)
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Listar procesos en listview.
« en: 20 Junio 2015, 06:03 am »

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.

Código
  1.  
  2. Dim procesos As New Process
  3.        Dim lvlItem As New ListViewDataItem()
  4.        'Dim Contador As Integer = 0
  5.  
  6. 'No me muestra los datos correctamente
  7.        For Each procesos In Process.GetProcesses()
  8.            Me.ListaProcesos.Items.Add(lvlItem)
  9.            lvlItem.Item(0) = procesos.Id  'ha la columna 1 le asigno el id de los procesos
  10.            lvlItem.Item(1) = procesos.ProcessName 'ha la columna 2 le asigno el nombre
  11.        Next
  12.  
  13.        For Each procesos In Process.GetProcesses()
  14.            RadListView1.Items.Add(procesos.Id)
  15.        Next
  16.  
  17.        For Each procesos In Process.GetProcesses()
  18.            RadListView2.Items.Add(procesos.ProcessName)
  19.        Next

El problema es que no me los lista en las columnas aca un ejemplo.



Saludos.


« Última modificación: 20 Junio 2015, 08:09 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Listar procesos en listview.
« Respuesta #1 en: 20 Junio 2015, 07:32 am »

Código
  1. Dim lvlItem As New ListViewDataItem()
  2.  
  3. For Each procesos In Process.GetProcesses()
  4.    Me.ListaProcesos.Items.Add(lvlItem)
  5.    lvlItem.Item(0) = procesos.Id  'ha la columna 1 le asigno el id de los procesos
  6.    lvlItem.Item(1) = procesos.ProcessName 'ha la columna 2 le asigno el nombre
  7. 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!


« Última modificación: 20 Junio 2015, 07:35 am por Eleкtro » En línea



nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Listar procesos en listview.
« Respuesta #2 en: 20 Junio 2015, 08:48 am »

Hola gracias por responder sos un genio  ;-).

Esta es la segunda solucion que me das andubo perfecto
Código
  1. For Each procesos In Process.GetProcesses()
  2.       Me.ListaProcesos.Items.Add(procesos.Id, procesos.ProcessName)
  3. Next
  4.  

Aunque la primera no termino de entender muy bien

Citar
Instancia un objeto del tipo ListViewDataItem para cada item

Código
  1. Dim lvlItem As New ListViewDataItem()
  2. Dim lvlItem1 As New ListViewDataItem()
  3.  
  4. For Each procesos In Process.GetProcesses()
  5.    Me.ListaProcesos.Items.Add(lvlItem)  
  6.    Me.ListaProcesos.Items.Add(lvlItem1)            
  7.    lvlItem.Item(0) = procesos.Id            
  8.    lvlItem1.Item(1) = procesos.ProcessName
  9. Next
  10.  

Se que esta malisimo eso que escribi arriba pero no termino de entender la idea.

Gracias por la ayuda.

Saludos
En línea

Lo que se puede imaginar... se puede programar.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Listar procesos en listview.
« Respuesta #3 en: 20 Junio 2015, 08:58 am »

la primera no termino de entender muy bien

Ejemplo:
Código
  1. Dim lvItems As New List(Of ListViewDataItem)
  2.  
  3. For Each p As Process In Process.GetProcesses()
  4.  
  5.    Using lvItem As New ListViewDataItem
  6.  
  7.        With lvItem
  8.            .Item(0) = p.Id
  9.            .Item(1) = p.ProcessName
  10.        End With
  11.  
  12.        lvItems.Add(lvItem)
  13.  
  14.    End Using
  15.  
  16. Next p
  17.  
  18. With Me.RadListView1
  19.    .Columns.Add("PID")
  20.    .Columns.Add("Process Name")
  21.    .ViewType = ListViewType.DetailsView
  22.  
  23.    .Items.AddRange(lvItems.ToArray)
  24. End With

Saludos!
« Última modificación: 20 Junio 2015, 09:03 am por Eleкtro » En línea



nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Listar procesos en listview.
« Respuesta #4 en: 20 Junio 2015, 09:28 am »

Ya en tiendo a que te referias con
Citar
para cada item
  :-(

Me disculpo por las molestias muchas gracias por tu tiempo Eleкtro.



Gracias de nuevo y saludos.
En línea

Lo que se puede imaginar... se puede programar.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Listar procesos y realizar cosas con los procesos
Programación Visual Basic
sebas369 2 3,415 Último mensaje 14 Julio 2006, 16:08 pm
por sebas369
[VB.NET] Listar procesos activos en un Listbox.
.NET (C#, VB.NET, ASP)
kub0x 2 5,146 Último mensaje 26 Agosto 2011, 04:09 am
por kub0x
Listar Procesos
Programación Visual Basic
calk9 4 2,857 Último mensaje 20 Diciembre 2011, 00:52 am
por calk9
Listar puertos en uso por procesos
Programación Visual Basic
vvictoristudio 2 2,142 Último mensaje 18 Diciembre 2013, 10:34 am
por Mad Antrax
[C][?] Listar procesos en GNU/Linux
Programación C/C++
AleBallesta 3 1,914 Último mensaje 11 Septiembre 2015, 21:37 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines