ListViewGroupCollection.Clear 메서드

정의

컬렉션에서 모든 그룹을 제거합니다.

public:
 virtual void Clear();
public void Clear();
abstract member Clear : unit -> unit
override this.Clear : unit -> unit
Public Sub Clear ()

구현

예제

다음 예제에서는 세부 정보 보기에서 하위 항목 값으로 항목을 구성 Clear 하는 애플리케이션에서 메서드를 사용할 수 있는 방법을 ListView 보여 줍니다. 이러한 형태의 그룹화는 Windows 탐색기에서 사용되는 그룹화와 유사합니다. 이 예제에서는 그룹이 동적으로 만들어집니다. 각 하위 항목 열에 대해 고유한 각 하위 항목 값에 대해 하나의 그룹이 만들어집니다. 부모 항목 열의 경우 각 고유한 초기 문자에 대해 하나의 그룹이 만들어집니다. 각 열에 대해 만든 그룹은 하위 항목 텍스트 또는 초기 문자와 함께 해시 테이블에 저장됩니다. 열 머리글을 클릭하면 열 머리글이 ListViewGroupCollection 지워집니다. 그런 다음 클릭한 열에 해당하는 해시 테이블이 검색되고 각 항목이 적절한 그룹에 할당됩니다. 마지막으로 해시 테이블에 있는 그룹의 정렬된 배열이 에 추가 ListViewGroupCollection됩니다.

전체 예제는 개요 참조 항목을 참조 ListViewGroupCollection 하세요.

   // Sets myListView to the groups created for the specified column.
private:
   void SetGroups(int column)
   {
      // Remove the current groups.
      myListView->Groups->Clear();

      // Retrieve the hash table corresponding to the column.
      Hashtable^ groups = dynamic_cast<Hashtable^>(groupTables[column]);

      // Copy the groups for the column to an array.
      array<ListViewGroup^>^ groupsArray = gcnew array<ListViewGroup^>(groups->Count);
      groups->Values->CopyTo(groupsArray, 0);

      // Sort the groups and add them to myListView.
      Array::Sort(groupsArray, gcnew ListViewGroupSorter(myListView->Sorting));
      myListView->Groups->AddRange(groupsArray);

      // Iterate through the items in myListView, assigning each 
      // one to the appropriate group.
      IEnumerator^ myEnum = myListView->Items->GetEnumerator();
      while (myEnum->MoveNext())
      {
         ListViewItem^ item = safe_cast<ListViewItem^>(myEnum->Current);
         // Retrieve the subitem text corresponding to the column.
         String^ subItemText = item->SubItems[column]->Text;

         // For the Title column, use only the first letter.
         if (column == 0) 
         {
            subItemText = subItemText->Substring(0, 1);
         }

         // Assign the item to the matching group.
         item->Group = dynamic_cast<ListViewGroup^>(groups[subItemText]);
      }
   }
// Sets myListView to the groups created for the specified column.
private void SetGroups(int column)
{
    // Remove the current groups.
    myListView.Groups.Clear();

    // Retrieve the hash table corresponding to the column.
    Hashtable groups = (Hashtable)groupTables[column];

    // Copy the groups for the column to an array.
    ListViewGroup[] groupsArray = new ListViewGroup[groups.Count];
    groups.Values.CopyTo(groupsArray, 0);

    // Sort the groups and add them to myListView.
    Array.Sort(groupsArray, new ListViewGroupSorter(myListView.Sorting));
    myListView.Groups.AddRange(groupsArray);

    // Iterate through the items in myListView, assigning each 
    // one to the appropriate group.
    foreach (ListViewItem item in myListView.Items)
    {
        // Retrieve the subitem text corresponding to the column.
        string subItemText = item.SubItems[column].Text;

        // For the Title column, use only the first letter.
        if (column == 0) 
        {
            subItemText = subItemText.Substring(0, 1);
        }

        // Assign the item to the matching group.
        item.Group = (ListViewGroup)groups[subItemText];
    }
}
' Sets myListView to the groups created for the specified column.
Private Sub SetGroups(column As Integer)
    ' Remove the current groups.
    myListView.Groups.Clear()
    
    ' Retrieve the hash table corresponding to the column.
    Dim groups As Hashtable = CType(groupTables(column), Hashtable)
    
    ' Copy the groups for the column to an array.
    Dim groupsArray(groups.Count - 1) As ListViewGroup
    groups.Values.CopyTo(groupsArray, 0)
    
    ' Sort the groups and add them to myListView.
    Array.Sort(groupsArray, New ListViewGroupSorter(myListView.Sorting))
    myListView.Groups.AddRange(groupsArray)
    
    ' Iterate through the items in myListView, assigning each 
    ' one to the appropriate group.
    Dim item As ListViewItem
    For Each item In myListView.Items
        ' Retrieve the subitem text corresponding to the column.
        Dim subItemText As String = item.SubItems(column).Text
        
        ' For the Title column, use only the first letter.
        If column = 0 Then
            subItemText = subItemText.Substring(0, 1)
        End If 

        ' Assign the item to the matching group.
        item.Group = CType(groups(subItemText), ListViewGroup)
    Next item
End Sub

설명

컬렉션에서 모든 그룹을 제거 하려면이 메서드를 사용 합니다. 컬렉션에서 ListView.Groups 그룹을 제거해도 컨트롤에서 항목이 ListView 제거되지는 않습니다.

이 메서드는 그룹화 기능을 사용하지 않도록 설정하는 데 유용합니다. 컨트롤에 ListView 그룹이 없으면 항목이 정상적으로 표시됩니다. 컬렉션에서 개별 그룹을 제거하려면 해당 또는 Remove 메서드를 RemoveAt 사용합니다.

이 메서드는 항목을 그룹화 하는 여러 가지 방법을 제공 하려는 경우에 유용 합니다. 그룹을 변경하려면 먼저 메서드를 Clear 사용하여 컬렉션에서 모든 그룹을 제거한 다음, 메서드를 사용하여 AddRange 다른 그룹 배열을 추가합니다.

적용 대상