ListViewGroupCollection.Clear 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션에서 모든 그룹을 제거합니다.
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 다른 그룹 배열을 추가합니다.