Вопрос

Можете ли вы создать элемент управления списком с несколькими столбцами, где один из столбцов является флажком?Пример кода или ссылки будут очень признательны.

Я использую Visual Studio 2005.

Это было полезно?

Решение

Аллан Андерсон создал специальный элемент управления, позволяющий вам это сделать.Вы можете найти это здесь: http://www.codeproject.com/KB/list/aa_listview.aspx

Вот пример кода для этого элемента управления:


    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

Другие советы

Лучше используйте управление видом сетки, но если хотите только один столбец с флажками, и этот столбец является первый тот, который вы можете просто написать:

this.listView1.CheckBoxes = true;

Добавьте столбец флажка, как показано ниже.

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

Добавьте ListViewItem, как показано ниже.

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

myListView.Items.Add(lstViewItem);

Почему бы тебе не попробовать XPTable от Мэтью Холла

Может быть ListView.Флажки.

Вы можете установить CheckBoxes собственность true.В коде это можно сделать так:

listView1.CheckBoxes = true;

Вместо этого вы можете использовать представление сетки, поскольку это дает вам более точный контроль над содержимым столбцов.

Можешь попробовать ДеревоViewAdv.Он имеет открытый исходный код и размещен на sourceforge.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top