Bagikan melalui


ListView.ColumnHeaderCollection Kelas

Definisi

Mewakili kumpulan header kolom dalam ListView kontrol.

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
Warisan
ListView.ColumnHeaderCollection
Atribut
Penerapan

Contoh

Contoh kode berikut membuat formulir yang berisi ListView kontrol yang secara manual mengurutkan item saat kolom dalam kontrol diklik ListView . Contoh mendefinisikan kelas yang disebut ListViewItemComparer yang mengimplementasikan System.Collections.IComparer antarmuka yang melakukan perbandingan ListViewItem . Contoh membuat instans ListViewItemComparer dan menggunakannya untuk mengatur ListViewItemSorter properti ListView kontrol. Panggilan Sort metode dalam penanganan ColumnClick aktivitas menggunakan metode yang ditentukan ListViewItemComparer untuk melakukan jenis item, berdasarkan kolom yang diklik.

#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

Keterangan

Kelas ListView.ColumnHeaderCollection menyimpan header kolom yang ditampilkan dalam ListView kontrol saat View properti diatur ke Details. ColumnHeader Menyimpan ListView.ColumnHeaderCollection objek yang menentukan teks yang akan ditampilkan untuk kolom serta bagaimana header kolom ditampilkan dalam ListView kontrol saat menampilkan kolom. ListView Saat menampilkan kolom, item dan subitemnya ditampilkan di kolomnya sendiri. Untuk menentukan data subitem kolom mana yang ditampilkan di bawah, lihat ListViewItem.ListViewSubItemCollection kelas .

Ada sejumlah cara untuk menambahkan header kolom ke koleksi. Metode menambahkan Add header kolom tunggal ke koleksi. Untuk menambahkan sejumlah header kolom ke koleksi, Anda membuat array ColumnHeader objek dan meneruskannya ke AddRange metode . Jika Anda ingin menyisipkan header kolom di lokasi tertentu dalam koleksi, Anda bisa menggunakan metode .Insert Untuk menghapus header kolom, Anda dapat menggunakan Remove metode atau RemoveAt metode jika Anda tahu di mana header kolom berada di koleksi. Metode ini Clear memungkinkan Anda menghapus semua header kolom dari koleksi alih-alih menggunakan Remove metode untuk menghapus satu header kolom pada satu waktu.

Selain metode dan properti untuk menambahkan dan menghapus header kolom, ListView.ColumnHeaderCollection juga menyediakan metode untuk menemukan header kolom dalam koleksi. Metode ini Contains memungkinkan Anda menentukan apakah header kolom adalah anggota koleksi. Setelah Anda tahu bahwa header kolom terletak di koleksi, Anda dapat menggunakan IndexOf metode untuk menentukan di mana header kolom berada dalam koleksi.

Catatan

Perilaku tak terduga dapat dihasilkan ketika lebar gabungan semua kolom melebihi 32.768 piksel.

Konstruktor

ListView.ColumnHeaderCollection(ListView)

Menginisialisasi instans baru kelas ListView.ColumnHeaderCollection.

Properti

Count

Mendapatkan jumlah item dalam koleksi.

IsReadOnly

Mendapatkan nilai yang menunjukkan apakah koleksi bersifat baca-saja.

Item[Int32]

Mendapatkan header kolom pada indeks yang ditentukan dalam koleksi.

Item[String]

Mendapatkan header kolom dengan kunci yang ditentukan dari koleksi.

Metode

Add(ColumnHeader)

Menambahkan yang sudah ada ColumnHeader ke koleksi.

Add(String)

Membuat dan menambahkan kolom dengan teks yang ditentukan ke koleksi.

Add(String, Int32)

Membuat dan menambahkan kolom dengan teks dan lebar yang ditentukan ke koleksi.

Add(String, Int32, HorizontalAlignment)

Menambahkan header kolom ke koleksi dengan pengaturan teks, lebar, dan perataan yang ditentukan.

Add(String, String)

Membuat dan menambahkan kolom dengan teks dan kunci yang ditentukan ke koleksi.

Add(String, String, Int32)

Membuat dan menambahkan kolom dengan teks, kunci, dan lebar yang ditentukan ke koleksi.

Add(String, String, Int32, HorizontalAlignment, Int32)

Membuat dan menambahkan kolom dengan kunci yang ditentukan, teks, lebar, dan indeks gambar yang diratakan ke koleksi.

Add(String, String, Int32, HorizontalAlignment, String)

Membuat dan menambahkan kolom dengan kunci yang ditentukan, teks, lebar, dan kunci gambar yang diratakan ke koleksi.

AddRange(ColumnHeader[])

Menambahkan array header kolom ke koleksi.

Clear()

Menghapus semua header kolom dari koleksi.

Contains(ColumnHeader)

Menentukan apakah header kolom yang ditentukan terletak di koleksi.

ContainsKey(String)

Menentukan apakah kolom dengan kunci yang ditentukan terkandung dalam koleksi.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

Mengembalikan enumerator yang akan digunakan untuk melakukan iterasi melalui kumpulan header kolom.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
IndexOf(ColumnHeader)

Mengembalikan indeks, dalam koleksi, dari header kolom yang ditentukan.

IndexOfKey(String)

Menentukan indeks untuk kolom dengan kunci yang ditentukan.

Insert(Int32, ColumnHeader)

Menyisipkan header kolom yang ada ke dalam koleksi pada indeks yang ditentukan.

Insert(Int32, String)

Membuat header kolom baru dengan teks yang ditentukan, dan menyisipkan header ke dalam koleksi pada indeks yang ditentukan.

Insert(Int32, String, Int32)

Membuat header kolom baru dengan teks dan lebar awal yang ditentukan, dan menyisipkan header ke dalam koleksi pada indeks yang ditentukan.

Insert(Int32, String, Int32, HorizontalAlignment)

Membuat header kolom baru dan menyisipkannya ke dalam koleksi pada indeks yang ditentukan.

Insert(Int32, String, String)

Membuat header kolom baru dengan teks dan kunci yang ditentukan, dan menyisipkan header ke dalam koleksi pada indeks yang ditentukan.

Insert(Int32, String, String, Int32)

Membuat header kolom baru dengan teks, kunci, dan lebar yang ditentukan, dan menyisipkan header ke dalam koleksi pada indeks yang ditentukan.

Insert(Int32, String, String, Int32, HorizontalAlignment, Int32)

Membuat header kolom baru dengan teks, kunci, lebar, dan indeks gambar yang diratakan yang ditentukan, dan menyisipkan header ke dalam koleksi pada indeks yang ditentukan.

Insert(Int32, String, String, Int32, HorizontalAlignment, String)

Membuat header kolom baru dengan teks, kunci, lebar, dan kunci gambar yang diratakan yang ditentukan, dan menyisipkan header ke dalam koleksi pada indeks yang ditentukan.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Remove(ColumnHeader)

Menghapus header kolom yang ditentukan dari koleksi.

RemoveAt(Int32)

Menghapus header kolom pada indeks yang ditentukan dalam koleksi.

RemoveByKey(String)

Menghapus kolom dengan kunci yang ditentukan dari koleksi.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

ColumnHeader Menyalin objek dalam ListView.ColumnHeaderCollection ke array, dimulai pada indeks array tertentu.

ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan ListView.ColumnHeaderCollection (utas aman).

ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke kumpulan kontrol.

IList.Add(Object)

ColumnHeader Menambahkan ke ListView.

IList.Contains(Object)

Menentukan apakah header kolom yang ditentukan terletak di koleksi.

IList.IndexOf(Object)

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Mengembalikan indeks, dalam koleksi, dari header kolom yang ditentukan.

IList.Insert(Int32, Object)

Menyisipkan header kolom yang ada ke dalam koleksi pada indeks yang ditentukan.

IList.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah ListView.ColumnHeaderCollection memiliki ukuran tetap.

IList.Item[Int32]

Mendapatkan atau mengatur header kolom pada indeks yang ditentukan dalam koleksi.

IList.Remove(Object)

Menghapus header kolom yang ditentukan dari koleksi.

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari IEnumerable ke jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis tertentu.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk