windowsforms-devexpress-dot-xtraeditors-dot-basecheckedlistboxcontrol-338fc74a.md
Enables you to disable specific items, in bound mode.
Namespace : DevExpress.XtraEditors
Assembly : DevExpress.XtraEditors.v25.2.dll
NuGet Package : DevExpress.Win.Navigation
[DXCategory("Behavior")]
public event GetItemEnabledEventHandler GetItemEnabled
<DXCategory("Behavior")>
Public Event GetItemEnabled As GetItemEnabledEventHandler
The GetItemEnabled event's data class is DevExpress.XtraEditors.Controls.GetItemEnabledEventArgs.
In bound mode, a list box control is bound to a data source via the BaseListBoxControl.DataSource property. To disable specific items in this mode, handle the GetItemEnabled event.
To disable items in unbound mode, use the CheckedListBoxItem.Enabled property of the items.
The following example shows how to disable specific items in a checked list box control via the BaseCheckedListBoxControl.GetItemEnabled event.
Assume that a CheckedListBoxControl is bound to a BindingSource object containinig information on products. The data source contains a ProductName and Discontinued fields. The values of the ProductName field are displayed in the control. The values of the Discontinued field are used to decide whether a corresponding check item should be disabled.
The result is displayed below:
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.Controls;
// Assign a data source to the checked list box.
checkedListBoxControl1.DataSource = productsBindingSource;
checkedListBoxControl1.DisplayMember = "ProductName";
// Disable the items that have the Discontinued field set to true
private void checkedListBoxControl1_GetItemEnabled(object sender, GetItemEnabledEventArgs e) {
CheckedListBoxControl control = sender as CheckedListBoxControl;
bool isDiscontinued = (bool)((control.DataSource as BindingSource)[e.Index] as
DataRowView)["Discontinued"];
if (isDiscontinued)
e.Enabled = false;
}
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Controls
' Assign a data source to the checked list box.
Private checkedListBoxControl1.DataSource = productsBindingSource
Private checkedListBoxControl1.DisplayMember = "ProductName"
' Disable the items that have the Discontinued field set to true
Private Sub CheckedListBoxControl1_GetItemEnabled(ByVal sender As System.Object, _
ByVal e As GetItemEnabledEventArgs) _
Handles CheckedListBoxControl1.GetItemEnabled
Dim control As CheckedListBoxControl = TryCast(sender, CheckedListBoxControl)
Dim isDiscontinued As Boolean = CBool((TryCast((TryCast(control.DataSource, _
BindingSource))(e.Index), DataRowView))("Discontinued"))
If isDiscontinued Then
e.Enabled = False
End If
End Sub
See Also
BaseCheckedListBoxControl Class