Question

Pouvez-vous avoir un contrôle listview multicolonne où l’une des colonnes est une case à cocher ?Un exemple de code ou de liens serait grandement apprécié.

J'utilise Visual Studio 2005

Était-ce utile?

La solution

Allan Anderson a créé un contrôle personnalisé pour vous permettre de faire cela.Vous pouvez le trouver ici: http://www.codeproject.com/KB/list/aa_listview.aspx

Voici un exemple de code pour ce contrôle :


    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

Autres conseils

Mieux vaut utiliser le contrôle de la vue en grille, mais si vous le souhaitez seulement une colonne avec des cases à cocher et cette colonne est la d'abord celui que vous pouvez simplement écrire :

this.listView1.CheckBoxes = true;

Ajoutez une colonne de case à cocher comme ci-dessous.

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

Ajoutez des ListViewItem comme ci-dessous.

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

myListView.Items.Add(lstViewItem);

Pourquoi n'essayes-tu pas XPTable par Mathew Hall

Peut être ListView.Checkboxes.

Vous pouvez définir le CheckBoxes propriété à true.Dans le code, cela peut être fait comme ceci :

listView1.CheckBoxes = true;

Vous pouvez plutôt utiliser une vue en grille, car cela vous donne un contrôle plus précis du contenu des colonnes.

Tu peux essayer TreeViewAdv.Il est open source et hébergé sur sourceforge.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top