Casilla de verificación en el control de vista de lista
-
09-06-2019 - |
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.
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
Tal vez ListView.Casillas de verificación.
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.