Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/08/2013, 15:37
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: imagen en listview

El evento DrawSubItem se lanza por cada subitem, no tienes que recorrer el listview entero:

Código C#:
Ver original
  1. private void lvLlamadas_DrawSubItem(object sender,
  2.     DrawListViewSubItemEventArgs e)
  3. {
  4.         //Verificas si estás en la columna de estado
  5.     if (e.Header != chEstado)
  6.     {
  7.         e.DrawDefault = true;
  8.         return;
  9.     }
  10.     else
  11.     {
  12.                 //Si el item no está seleccionado, dibujar el background por defecto
  13.         if ((e.ItemState & ListViewItemStates.Selected) == 0)
  14.         {
  15.             e.DrawBackground();
  16.         }      
  17.  
  18.                 //Dependiendo del valor del estado
  19.         switch(e.SubItem.Text)
  20.         {
  21.             case "Realizada":
  22.                 e.Graphics.DrawImage(EjemploListView.Properties.Resources.realizada, imageRect);
  23.                 break;
  24.             case "Pendiente":
  25.                 e.Graphics.DrawImage(EjemploListView.Properties.Resources.Pendiente, imageRect);
  26.                 break;
  27.             case "Recibida":
  28.                 e.Graphics.DrawImage(EjemploListView.Properties.Resources.Recibida, imageRect);
  29.                 break;
  30.         }
  31.    
  32.     }
  33.    
  34. }