Caixa de seleção no controle listview
-
09-06-2019 - |
Pergunta
Você pode ter um controle listview com várias colunas onde uma das colunas é uma caixa de seleção?Código ou links de exemplo seriam muito apreciados.
Estou usando o visual studio 2005
Solução
Allan Anderson criou um controle personalizado para permitir que você faça isso.Você pode encontrá-lo aqui: http://www.codeproject.com/KB/list/aa_listview.aspx
Aqui está um exemplo de código para esse controle:
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
Outras dicas
É melhor usar o controle de visualização em grade, mas se quiser apenas uma coluna com caixas de seleção e essa coluna é a primeiro um que você pode simplesmente escrever:
this.listView1.CheckBoxes = true;
Adicione a coluna Checkbox como abaixo.
myListView.CheckBoxes = true;
myListView.Columns.Add(text, width, alignment);
Adicione ListViewItem s como abaixo.
ListViewItem lstViewItem = new ListViewItem();
lstViewItem.SubItems.Add("Testing..");
lstViewItem.SubItems.Add("Testing1..");
myListView.Items.Add(lstViewItem);
Por que você não tenta XPTable por Mathew Hall
Talvez ListView.Checkboxes.
Você pode definir o CheckBoxes
propriedade para true
.No código isso pode ser feito assim:
listView1.CheckBoxes = true;
Você poderia usar uma visualização em grade, pois isso oferece um controle mais preciso do conteúdo da coluna.
Podes tentar TreeViewAdv.É de código aberto e hospedado no sourceforge.