Back to Devexpress

BaseCheckedListBoxControl.GetItemEnabled Event

windowsforms-devexpress-dot-xtraeditors-dot-basecheckedlistboxcontrol-338fc74a.md

latest3.8 KB
Original Source

BaseCheckedListBoxControl.GetItemEnabled Event

Enables you to disable specific items, in bound mode.

Namespace : DevExpress.XtraEditors

Assembly : DevExpress.XtraEditors.v25.2.dll

NuGet Package : DevExpress.Win.Navigation

Declaration

csharp
[DXCategory("Behavior")]
public event GetItemEnabledEventHandler GetItemEnabled
vb
<DXCategory("Behavior")>
Public Event GetItemEnabled As GetItemEnabledEventHandler

Event Data

The GetItemEnabled event's data class is DevExpress.XtraEditors.Controls.GetItemEnabledEventArgs.

Remarks

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.

Example

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:

csharp
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;
}
vb
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

BaseCheckedListBoxControl Members

DevExpress.XtraEditors Namespace