windowsforms-devexpress-dot-xtraeditors-dot-checkedcomboboxedit-010ca5ed.md
Raises the CustomSort event.
Namespace : DevExpress.XtraEditors
Assembly : DevExpress.XtraEditors.v25.2.dll
NuGet Package : DevExpress.Win.Navigation
public void Sort()
Public Sub Sort
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.
This example demonstrates how to handle the CustomSort event to sort the checked items first and then the rest of the items.
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" },
});
}
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