ListView.ColumnHeaderCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje kolekci záhlaví sloupců v ovládacím ListView prvku.
public: ref class ListView::ColumnHeaderCollection : System::Collections::IList
public class ListView.ColumnHeaderCollection : System.Collections.IList
[System.ComponentModel.ListBindable(false)]
public class ListView.ColumnHeaderCollection : System.Collections.IList
type ListView.ColumnHeaderCollection = class
interface IList
interface ICollection
interface IEnumerable
[<System.ComponentModel.ListBindable(false)>]
type ListView.ColumnHeaderCollection = class
interface IList
interface ICollection
interface IEnumerable
Public Class ListView.ColumnHeaderCollection
Implements IList
- Dědičnost
-
ListView.ColumnHeaderCollection
- Atributy
- Implementuje
Příklady
Následující příklad kódu vytvoří formulář, který obsahuje ListView ovládací prvek, který ručně seřadí položky při kliknutí na sloupec v ovládacím ListView prvku. Příklad definuje třídu, ListViewItemComparer která implementuje System.Collections.IComparer rozhraní, které provádí ListViewItem porovnání. Příklad vytvoří instanci ListViewItemComparer a použije ji k nastavení ListViewItemSorter vlastnosti ListView ovládacího prvku. Volání Sort metody v obslužné rutině ColumnClick události používá metody definované ListViewItemComparer k provedení řazení položek na základě sloupce, který je kliknut.
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::Collections;
// Implements the manual sorting of items by columns.
ref class ListViewItemComparer: public IComparer
{
private:
int col;
public:
ListViewItemComparer()
{
col = 0;
}
ListViewItemComparer( int column )
{
col = column;
}
virtual int Compare( Object^ x, Object^ y )
{
return String::Compare( (dynamic_cast<ListViewItem^>(x))->SubItems[ col ]->Text,
(dynamic_cast<ListViewItem^>(y))->SubItems[ col ]->Text );
}
};
public ref class ListViewSortForm: public Form
{
private:
ListView^ listView1;
public:
ListViewSortForm()
{
// Create ListView items to add to the control.
array<String^>^temp0 = {"Banana","a","b","c"};
ListViewItem^ listViewItem1 = gcnew ListViewItem( temp0,-1,Color::Empty,Color::Yellow,nullptr );
array<String^>^temp1 = {"Cherry","v","g","t"};
ListViewItem^ listViewItem2 = gcnew ListViewItem( temp1,-1,Color::Empty,Color::Red,
gcnew System::Drawing::Font( "Microsoft Sans Serif",8.25F,FontStyle::Regular,GraphicsUnit::Point,0 ) );
array<String^>^temp2 = {"Apple","h","j","n"};
ListViewItem^ listViewItem3 = gcnew ListViewItem( temp2,-1,Color::Empty,Color::Lime,nullptr );
array<String^>^temp3 = {"Pear","y","u","i"};
ListViewItem^ listViewItem4 = gcnew ListViewItem( temp3,-1,Color::Empty,Color::FromArgb( 192, 128, 156 ),nullptr );
//Initialize the ListView control and add columns to it.
this->listView1 = gcnew ListView;
// Set the initial sorting type for the ListView.
this->listView1->Sorting = SortOrder::None;
// Disable automatic sorting to enable manual sorting.
this->listView1->View = View::Details;
// Add columns and set their text.
this->listView1->Columns->Add( gcnew ColumnHeader );
this->listView1->Columns[ 0 ]->Text = "Column 1";
this->listView1->Columns[ 0 ]->Width = 100;
listView1->Columns->Add( gcnew ColumnHeader );
listView1->Columns[ 1 ]->Text = "Column 2";
listView1->Columns->Add( gcnew ColumnHeader );
listView1->Columns[ 2 ]->Text = "Column 3";
listView1->Columns->Add( gcnew ColumnHeader );
listView1->Columns[ 3 ]->Text = "Column 4";
// Suspend control logic until form is done configuring form.
this->SuspendLayout();
// Add Items to the ListView control.
array<ListViewItem^>^temp4 = {listViewItem1,listViewItem2,listViewItem3,listViewItem4};
this->listView1->Items->AddRange( temp4 );
// Set the location and size of the ListView control.
this->listView1->Location = Point(10,10);
this->listView1->Name = "listView1";
this->listView1->Size = System::Drawing::Size( 300, 100 );
this->listView1->TabIndex = 0;
// Enable editing of the items in the ListView.
this->listView1->LabelEdit = true;
// Connect the ListView::ColumnClick event to the ColumnClick event handler.
this->listView1->ColumnClick += gcnew ColumnClickEventHandler( this, &ListViewSortForm::ColumnClick );
// Initialize the form.
this->ClientSize = System::Drawing::Size( 400, 400 );
array<Control^>^temp5 = {this->listView1};
this->Controls->AddRange( temp5 );
this->Name = "ListViewSortForm";
this->Text = "Sorted ListView Control";
// Resume lay[Out] of* the form.
this->ResumeLayout( false );
}
private:
// ColumnClick event handler.
void ColumnClick( Object^ /*o*/, ColumnClickEventArgs^ e )
{
// Set the ListViewItemSorter property to a new ListViewItemComparer
// object. Setting this property immediately sorts the
// ListView using the ListViewItemComparer object.
this->listView1->ListViewItemSorter = gcnew ListViewItemComparer( e->Column );
}
};
[System::STAThreadAttribute]
int main()
{
Application::Run( gcnew ListViewSortForm );
}
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Collections;
namespace ListViewSortFormNamespace
{
public class ListViewSortForm : Form
{
private ListView listView1;
public ListViewSortForm()
{
// Create ListView items to add to the control.
ListViewItem listViewItem1 = new ListViewItem(new string[] {"Banana","a","b","c"}, -1, Color.Empty, Color.Yellow, null);
ListViewItem listViewItem2 = new ListViewItem(new string[] {"Cherry","v","g","t"}, -1, Color.Empty, Color.Red, new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, ((System.Byte)(0))));
ListViewItem listViewItem3 = new ListViewItem(new string[] {"Apple","h","j","n"}, -1, Color.Empty, Color.Lime, null);
ListViewItem listViewItem4 = new ListViewItem(new string[] {"Pear","y","u","i"}, -1, Color.Empty, Color.FromArgb(((System.Byte)(192)), ((System.Byte)(128)), ((System.Byte)(156))), null);
//Initialize the ListView control and add columns to it.
this.listView1 = new ListView();
// Set the initial sorting type for the ListView.
this.listView1.Sorting = SortOrder.None;
// Disable automatic sorting to enable manual sorting.
this.listView1.View = View.Details;
// Add columns and set their text.
this.listView1.Columns.Add(new ColumnHeader());
this.listView1.Columns[0].Text = "Column 1";
this.listView1.Columns[0].Width = 100;
listView1.Columns.Add(new ColumnHeader());
listView1.Columns[1].Text = "Column 2";
listView1.Columns.Add(new ColumnHeader());
listView1.Columns[2].Text = "Column 3";
listView1.Columns.Add(new ColumnHeader());
listView1.Columns[3].Text = "Column 4";
// Suspend control logic until form is done configuring form.
this.SuspendLayout();
// Add Items to the ListView control.
this.listView1.Items.AddRange(new ListViewItem[] {listViewItem1,
listViewItem2,
listViewItem3,
listViewItem4});
// Set the location and size of the ListView control.
this.listView1.Location = new Point(10, 10);
this.listView1.Name = "listView1";
this.listView1.Size = new Size(300, 100);
this.listView1.TabIndex = 0;
// Enable editing of the items in the ListView.
this.listView1.LabelEdit = true;
// Connect the ListView.ColumnClick event to the ColumnClick event handler.
this.listView1.ColumnClick += new ColumnClickEventHandler(ColumnClick);
// Initialize the form.
this.ClientSize = new Size(400, 400);
this.Controls.AddRange(new Control[] {this.listView1});
this.Name = "ListViewSortForm";
this.Text = "Sorted ListView Control";
// Resume layout of the form.
this.ResumeLayout(false);
}
// ColumnClick event handler.
private void ColumnClick(object o, ColumnClickEventArgs e)
{
// Set the ListViewItemSorter property to a new ListViewItemComparer
// object. Setting this property immediately sorts the
// ListView using the ListViewItemComparer object.
this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
}
[System.STAThreadAttribute()]
public static void Main()
{
Application.Run(new ListViewSortForm());
}
}
// Implements the manual sorting of items by columns.
class ListViewItemComparer : IComparer
{
private int col;
public ListViewItemComparer()
{
col = 0;
}
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(object x, object y)
{
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
}
}
}
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections
Namespace ListViewSortFormNamespace
Public Class ListViewSortForm
Inherits Form
Private listView1 As ListView
Public Sub New()
' Create ListView items to add to the control.
Dim listViewItem1 As New ListViewItem(New String() {"Banana", "a", "b", "c"}, -1, Color.Empty, Color.Yellow, Nothing)
Dim listViewItem2 As New ListViewItem(New String() {"Cherry", "v", "g", "t"}, -1, Color.Empty, Color.Red, New Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular, GraphicsUnit.Point, CType(0, System.Byte)))
Dim listViewItem3 As New ListViewItem(New String() {"Apple", "h", "j", "n"}, -1, Color.Empty, Color.Lime, Nothing)
Dim listViewItem4 As New ListViewItem(New String() {"Pear", "y", "u", "i"}, -1, Color.Empty, Color.FromArgb(CType(192, System.Byte), CType(128, System.Byte), CType(156, System.Byte)), Nothing)
'Initialize the ListView control and add columns to it.
Me.listView1 = New ListView
' Set the initial sorting type for the ListView.
Me.listView1.Sorting = SortOrder.None
' Disable automatic sorting to enable manual sorting.
Me.listView1.View = View.Details
' Add columns and set their text.
Me.listView1.Columns.Add(New ColumnHeader)
Me.listView1.Columns(0).Text = "Column 1"
Me.listView1.Columns(0).Width = 100
listView1.Columns.Add(New ColumnHeader)
listView1.Columns(1).Text = "Column 2"
listView1.Columns.Add(New ColumnHeader)
listView1.Columns(2).Text = "Column 3"
listView1.Columns.Add(New ColumnHeader)
listView1.Columns(3).Text = "Column 4"
' Suspend control logic until form is done configuring form.
Me.SuspendLayout()
' Add Items to the ListView control.
Me.listView1.Items.AddRange(New ListViewItem() {listViewItem1, listViewItem2, listViewItem3, listViewItem4})
' Set the location and size of the ListView control.
Me.listView1.Location = New Point(10, 10)
Me.listView1.Name = "listView1"
Me.listView1.Size = New Size(300, 100)
Me.listView1.TabIndex = 0
' Enable editing of the items in the ListView.
Me.listView1.LabelEdit = True
' Connect the ListView.ColumnClick event to the ColumnClick event handler.
AddHandler Me.listView1.ColumnClick, AddressOf ColumnClick
' Initialize the form.
Me.ClientSize = New Size(400, 400)
Me.Controls.AddRange(New Control() {Me.listView1})
Me.Name = "ListViewSortForm"
Me.Text = "Sorted ListView Control"
' Resume layout of the form.
Me.ResumeLayout(False)
End Sub
' ColumnClick event handler.
Private Sub ColumnClick(ByVal o As Object, ByVal e As ColumnClickEventArgs)
' Set the ListViewItemSorter property to a new ListViewItemComparer
' object. Setting this property immediately sorts the
' ListView using the ListViewItemComparer object.
Me.listView1.ListViewItemSorter = New ListViewItemComparer(e.Column)
End Sub
End Class
' Implements the manual sorting of items by columns.
Class ListViewItemComparer
Implements IComparer
Private col As Integer
Public Sub New()
col = 0
End Sub
Public Sub New(ByVal column As Integer)
col = column
End Sub
Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _
Implements IComparer.Compare
Return [String].Compare(CType(x, ListViewItem).SubItems(col).Text, CType(y, ListViewItem).SubItems(col).Text)
End Function
End Class
End Namespace
Poznámky
Třída ListView.ColumnHeaderCollection ukládá záhlaví sloupců, která jsou zobrazena v ovládacím ListView prvku, když View je vlastnost nastavena na Details. Ukládá ListView.ColumnHeaderCollectionColumnHeader objekty, které definují text, který se má zobrazit pro sloupec, a také způsob zobrazení záhlaví sloupce v ovládacím ListView prvku při zobrazení sloupců. ListView Když se zobrazí sloupce, zobrazí se položky a jejich podnabídky ve svých vlastních sloupcích. Chcete-li určit, které sloupce jsou zobrazeny v podnabídce dat, podívejte se na ListViewItem.ListViewSubItemCollection třídu.
Do kolekce můžete přidat záhlaví sloupců několika způsoby. Metoda Add přidá do kolekce záhlaví s jedním sloupcem. Pokud chcete do kolekce přidat několik záhlaví sloupců, vytvoříte pole objektů a předáte ho ColumnHeaderAddRange metodě. Pokud chcete vložit záhlaví sloupce do konkrétního umístění v kolekci, můžete použít metodu Insert . Pokud chcete odebrat záhlaví sloupců, můžete použít metodu Remove nebo metodu RemoveAt , pokud víte, kde se záhlaví sloupce nachází v kolekci. Tato Clear metoda umožňuje odebrat všechna záhlaví sloupců z kolekce místo použití Remove metody k odebrání záhlaví jednoho sloupce najednou.
Kromě metod a vlastností pro přidávání a odebírání záhlaví ListView.ColumnHeaderCollection sloupců poskytuje také metody pro vyhledání záhlaví sloupců v kolekci. Tato Contains metoda umožňuje určit, zda je záhlaví sloupce členem kolekce. Jakmile víte, že záhlaví sloupce se nachází v kolekci, můžete použít metodu IndexOf k určení umístění záhlaví sloupce v kolekci.
Poznámka:
Neočekávané chování může mít za následek, že kombinovaná šířka všech sloupců přesahuje 32 768 pixelů.
Konstruktory
| Name | Description |
|---|---|
| ListView.ColumnHeaderCollection(ListView) |
Inicializuje novou instanci ListView.ColumnHeaderCollection třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Count |
Získá počet položek v kolekci. |
| IsReadOnly |
Získá hodnotu určující, zda kolekce je jen pro čtení. |
| Item[Int32] |
Získá záhlaví sloupce v zadaném indexu v kolekci. |
| Item[String] |
Získá záhlaví sloupce se zadaným klíčem z kolekce. |
Metody
| Name | Description |
|---|---|
| Add(ColumnHeader) |
Přidá existující ColumnHeader kolekci. |
| Add(String, Int32, HorizontalAlignment) |
Přidá záhlaví sloupce do kolekce se zadaným textem, šířkou a nastavením zarovnání. |
| Add(String, Int32) |
Vytvoří a přidá sloupec se zadaným textem a šířkou do kolekce. |
| Add(String, String, Int32, HorizontalAlignment, Int32) |
Vytvoří a přidá sloupec se zadaným klíčem, zarovnaným textem, šířkou a indexem obrázku do kolekce. |
| Add(String, String, Int32, HorizontalAlignment, String) |
Vytvoří a přidá sloupec se zadaným klíčem, zarovnaným textem, šířkou a klíčem obrázku do kolekce. |
| Add(String, String, Int32) |
Vytvoří a přidá do kolekce sloupec se zadaným textem, klíčem a šířkou. |
| Add(String, String) |
Vytvoří a přidá sloupec se zadaným textem a klíčem do kolekce. |
| Add(String) |
Vytvoří a přidá sloupec se zadaným textem do kolekce. |
| AddRange(ColumnHeader[]) |
Přidá do kolekce pole záhlaví sloupců. |
| Clear() |
Odebere ze kolekce všechny záhlaví sloupců. |
| Contains(ColumnHeader) |
Určuje, zda je zadané záhlaví sloupce umístěné v kolekci. |
| ContainsKey(String) |
Určuje, zda je sloupec se zadaným klíčem obsažen v kolekci. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetEnumerator() |
Vrátí enumerátor, který se použije k iteraci v kolekci záhlaví sloupce. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IndexOf(ColumnHeader) |
Vrátí index v kolekci zadaného záhlaví sloupce. |
| IndexOfKey(String) |
Určuje index pro sloupec se zadaným klíčem. |
| Insert(Int32, ColumnHeader) |
Vloží do kolekce existující záhlaví sloupce v zadaném indexu. |
| Insert(Int32, String, Int32, HorizontalAlignment) |
Vytvoří nové záhlaví sloupce a vloží ho do kolekce v zadaném indexu. |
| Insert(Int32, String, Int32) |
Vytvoří nové záhlaví sloupce se zadaným textem a počáteční šířkou a vloží záhlaví do kolekce v zadaném indexu. |
| Insert(Int32, String, String, Int32, HorizontalAlignment, Int32) |
Vytvoří nové záhlaví sloupce se zadaným zarovnaným textem, klíčem, šířkou a indexem obrázku a vloží záhlaví do kolekce v zadaném indexu. |
| Insert(Int32, String, String, Int32, HorizontalAlignment, String) |
Vytvoří nové záhlaví sloupce se zadaným zarovnaným textem, klíčem, šířkou a klíčem obrázku a vloží záhlaví do kolekce v zadaném indexu. |
| Insert(Int32, String, String, Int32) |
Vytvoří nové záhlaví sloupce se zadaným textem, klíčem a šířkou a vloží záhlaví do kolekce v zadaném indexu. |
| Insert(Int32, String, String) |
Vytvoří nové záhlaví sloupce se zadaným textem a klíčem a vloží záhlaví do kolekce v zadaném indexu. |
| Insert(Int32, String) |
Vytvoří nové záhlaví sloupce se zadaným textem a vloží záhlaví do kolekce v zadaném indexu. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Remove(ColumnHeader) |
Odebere ze kolekce zadanou hlavičku sloupce. |
| RemoveAt(Int32) |
Odebere záhlaví sloupce v zadaném indexu v kolekci. |
| RemoveByKey(String) |
Odebere sloupec se zadaným klíčem z kolekce. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
ColumnHeader Zkopíruje objekty v ListView.ColumnHeaderCollection poli počínaje konkrétním indexem pole. |
| ICollection.IsSynchronized |
Získá hodnotu označující, zda je přístup k ListView.ColumnHeaderCollection této synchronizaci (bezpečné vlákno). |
| ICollection.SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k kolekci ovládacích prvků. |
| IList.Add(Object) |
Přidá ColumnHeader do ListView. |
| IList.Contains(Object) |
Určuje, zda je zadané záhlaví sloupce umístěné v kolekci. |
| IList.IndexOf(Object) |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Vrátí index v kolekci zadaného záhlaví sloupce. |
| IList.Insert(Int32, Object) |
Vloží do kolekce existující záhlaví sloupce v zadaném indexu. |
| IList.IsFixedSize |
Získá hodnotu určující, zda ListView.ColumnHeaderCollection má pevnou velikost. |
| IList.Item[Int32] |
Získá nebo nastaví záhlaví sloupce v zadaném indexu v kolekci. |
| IList.Remove(Object) |
Odebere ze kolekce zadanou hlavičku sloupce. |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |