Back to Devexpress

CheckedComboBoxEdit.Sort() Method

windowsforms-devexpress-dot-xtraeditors-dot-checkedcomboboxedit-010ca5ed.md

latest3.6 KB
Original Source

CheckedComboBoxEdit.Sort() Method

Raises the CustomSort event.

Namespace : DevExpress.XtraEditors

Assembly : DevExpress.XtraEditors.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
public void Sort()
vb
Public Sub Sort

Remarks

Handle the CustomSort event to sort list items in custom order. For optimization purposes, the editor itself does not raise the CustomSort event. Use the Sort method to raise the CustomSort event when needed.

Example

This example demonstrates how to handle the CustomSort event to sort the checked items first and then the rest of the items.

csharp
using DevExpress.XtraEditors.Controls;

private void checkedComboBoxEdit1_CustomSort(object sender, CheckedListBoxCustomSortEventArgs e) {
    if(e.Item1.CheckState == e.Item2.CheckState)
        e.Result = ((string)e.Value1).CompareTo((string)e.Value2);
    else
        e.Result = e.Item1.CheckState == CheckState.Checked ? -1 : 1;
}
private void checkedComboBoxEdit1_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e) {
    checkedComboBoxEdit1.Sort();
}
private void Form1_Load(object sender, EventArgs e) {
    checkedComboBoxEdit1.Properties.Items.AddRange(
      new CheckedListBoxItem[] {
        new CheckedListBoxItem(){ Value = "Bart Arnaz" },
        new CheckedListBoxItem(){ Value = "Leah Simpson" },
        new CheckedListBoxItem(){ Value = "Arnie Schwartz" },
        new CheckedListBoxItem(){ Value = "Billy Zimmer" },
        new CheckedListBoxItem(){ Value = "Samantha Piper" },
        new CheckedListBoxItem(){ Value = "Maggie Boxter" },
        new CheckedListBoxItem(){ Value = "Brad Farkus" },
    });
}
vb
Imports DevExpress.XtraEditors.Controls

Private Sub checkedComboBoxEdit1_CustomSort(ByVal sender As Object, ByVal e As CheckedListBoxCustomSortEventArgs)
    If e.Item1.CheckState = e.Item2.CheckState Then
        e.Result = CStr(e.Value1).CompareTo(CStr(e.Value2))
    Else
        e.Result = If(e.Item1.CheckState = CheckState.Checked, -1, 1)
    End If
End Sub
Private Sub checkedComboBoxEdit1_ItemCheck(ByVal sender As Object, ByVal e As DevExpress.XtraEditors.Controls.ItemCheckEventArgs)
    checkedComboBoxEdit1.Sort()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
    checkedComboBoxEdit1.Properties.Items.AddRange(New CheckedListBoxItem() {
        New CheckedListBoxItem() With {.Value = "Bart Arnaz"},
        New CheckedListBoxItem() With {.Value = "Leah Simpson"},
        New CheckedListBoxItem() With {.Value = "Arnie Schwartz"},
        New CheckedListBoxItem() With {.Value = "Billy Zimmer"},
        New CheckedListBoxItem() With {.Value = "Samantha Piper"},
        New CheckedListBoxItem() With {.Value = "Maggie Boxter"},
        New CheckedListBoxItem() With {.Value = "Brad Farkus"}
    })
End Sub

See Also

CustomSort

CheckedComboBoxEdit Class

CheckedComboBoxEdit Members

DevExpress.XtraEditors Namespace