Frage

Können Sie haben ein mehrspaltigen Listview-Steuerelement, wo eine der Säulen ist ein Kontrollkästchen? Beispiel-Code oder Links wäre sehr dankbar.

Ich bin mit Visual Studio 2005

War es hilfreich?

Lösung

Allan Anderson erstellt ein benutzerdefiniertes Steuerelement lassen Sie dies tun. Sie können es hier finden: http://www.codeproject.com/KB/list/aa_listview aspx

Hier ist ein Beispiel-Code für das Steuerelement:


    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

Andere Tipps

Bessere Nutzung Rasteransicht Kontrolle, aber wenn Sie auf wollen nur eine Spalte mit Kontrollkästchen und die Spalte ist die ersten ein kann man einfach schreiben:

this.listView1.CheckBoxes = true;

In Checkbox Spalte wie unten.

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

In ListViewItem s wie unten.

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

myListView.Items.Add(lstViewItem);

Warum nicht Sie versuchen, für XPTable von Mathew Hall-

Sie können das die CheckBoxes Eigenschaft auf true. Im Code kann dies wie folgt geschehen:

listView1.CheckBoxes = true;

Sie könnten eine Rasteransicht stattdessen verwenden, da, dass Sie mehr Feinsteuerung der Spalteninhalte gibt.

Sie können versuchen, TreeViewAdv . Es ist Open-Source und gehostete auf Source.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top