Skip to main content

TreeListView.NodeCheckStateChanged Event

Occurs when a node’s check box has changed its value.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v23.2.dll

NuGet Package: DevExpress.Wpf.Grid.Core

Declaration

public event TreeListNodeEventHandler NodeCheckStateChanged

Event Data

The NodeCheckStateChanged event's data class is TreeListNodeEventArgs. The following properties provide information specific to this event:

Property Description
Handled Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. Inherited from RoutedEventArgs.
Node Gets the processed node.
OriginalSource Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class. Inherited from RoutedEventArgs.
RoutedEvent Gets or sets the RoutedEvent associated with this RoutedEventArgs instance. Inherited from RoutedEventArgs.
Row Gets the processed row.
Source Gets or sets a reference to the object that raised the event. Inherited from RoutedEventArgs.

The event data class exposes the following methods:

Method Description
InvokeEventHandler(Delegate, Object) When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation. Inherited from RoutedEventArgs.
OnSetSource(Object) When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes. Inherited from RoutedEventArgs.

Remarks

When a node’s check state is changed, the TreeList View raises the NodeCheckStateChanged event. Use the TreeListNode.IsChecked property to identify whether a node is checked:

<dxg:GridControl Name="gridControl">
    <dxg:GridControl.Columns>
        <dxg:GridColumn FieldName="Name"/>
        <dxg:GridColumn FieldName="Department"/>
        <dxg:GridColumn FieldName="Position"/>
    </dxg:GridControl.Columns>
    <dxg:GridControl.View>
        <dxg:TreeListView KeyFieldName="ID" ParentFieldName="ParentID"
                          ShowCheckboxes="True" CheckBoxFieldName="OnVacation"
                          NodeCheckStateChanged="TreeListView_NodeCheckStateChanged" />
    </dxg:GridControl.View>
</dxg:GridControl>
void TreeListView_NodeCheckStateChanged(object sender, DevExpress.Xpf.Grid.TreeList.TreeListNodeEventArgs e) {
    if(e.Node.IsChecked.Value && e.Node.HasChildren) {
        foreach(TreeListNode node in e.Node.Nodes) {
            node.IsChecked = false;
        }
    }
}

Use the following methods to check/uncheck nodes in code:

Method Description
TreeListView.CheckAllNodes Checks all nodes.
TreeListView.UncheckAllNodes Unchecks all nodes.
TreeListNode.IsChecked Checks/unchecks the node.
See Also