Pregunta

¿Puede tener un control de vista de lista de varias columnas donde una de las columnas sea una casilla de verificación?Se agradecería mucho el código de ejemplo o los enlaces.

Estoy usando Visual Studio 2005.

¿Fue útil?

Solución

Allan Anderson creó un control personalizado para permitirle hacer esto.Lo puedes encontrar aquí: http://www.codeproject.com/KB/list/aa_listview.aspx

Aquí hay un código de ejemplo para ese control:


    GlacialList mylist = new GlacialList();

mylist.Columns.Add( "Column1", 100 ); // this can also be added 

         // through the design time support 

mylist.Columns.Add( "Column2", 100 ); 
mylist.Columns.Add( "Column3", 100 ); 
mylist.Columns.Add( "Column4", 100 ); 

GLItem item;

item = this.glacialList1.Items.Add( "Atlanta Braves" );
item.SubItems[1].Text = "8v";
item.SubItems[2].Text = "Live";
item.SubItems[2].BackColor = Color.Bisque;
item.SubItems[3].Text = "MLB.TV"; 

item = this.glacialList1.Items.Add( "Florida Marlins" );
item.SubItems[1].Text = "";
item.SubItems[2].Text = "Delayed";
item.SubItems[2].BackColor = Color.LightCoral;
item.SubItems[3].Text = "Audio";


item.SubItems[1].BackColor = Color.Aqua; // set the background 

      // of this particular subitem ONLY

item.UserObject = myownuserobjecttype; // set a private user object

item.Selected = true; // set this item to selected state

item.SubItems[1].Span = 2; // set this sub item to span 2 spaces


ArrayList selectedItems = mylist.SelectedItems; 
           // get list of selected items

Otros consejos

Es mejor utilizar el control de vista de cuadrícula, pero si quieres solo una columna con casillas de verificación y esa columna es la primero uno que puedes escribir:

this.listView1.CheckBoxes = true;

Agregue la columna Casilla de verificación como se muestra a continuación.

myListView.CheckBoxes = true;
myListView.Columns.Add(text, width, alignment);

Agregue ListViewItem s como se muestra a continuación.

ListViewItem lstViewItem = new ListViewItem();
lstViewItem.SubItems.Add("Testing..");
lstViewItem.SubItems.Add("Testing1..");

myListView.Items.Add(lstViewItem);

¿Por qué no lo intentas? XPTable de Mathew Hall

Puede configurar el CheckBoxes propiedad a true.En código esto se puede hacer así:

listView1.CheckBoxes = true;

En su lugar, podría utilizar una vista de cuadrícula, ya que le brinda un control más preciso del contenido de las columnas.

Puedes probar ÁrbolViewAdv.Es de código abierto y está alojado en sourceforge.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top