当观察到TreeList中的节点从代码中选中了复选标记时,是否有任何Fire事件?

时间:2011-11-14 13:41:02

标签: c# devexpress xtratreelist

我有一部分代码用于分析带有已检查节点ID的列表,并检查TreeList现有ID。 (我正在使用 XtraTreeList 控件

我想计算每个已检查节点的数量,我只想在检查节点时进行此操作。

是否有任何事件表明从代码中检查了TreeList中的节点( programmatic )?

如果我使用鼠标检查/取消选中某个节点,或使用键盘 BeforeCheckNode AfterCheckNode 事件采取Fire,但是当我从代码中检查节点时 - 他们不要开火。

foreach (TreeListNode item in tln) {
    var nodeID = (this.tlServices.GetDataRecordByNode(item) as __ServiceInfo).ID;
    if (svc.Select(value => value.Model.service.id).Contains(nodeID)) {
        item.Checked = true;
    }
    else if (item.HasChildren) {
        this.FindNode(item.Nodes, svc);
    }
}

2 个答案:

答案 0 :(得分:2)

您可以使用TreeList.NodeChanged事件:

void treeList1_NodeChanged(object sender, NodeChangedEventArgs e) {
    if(e.ChangeType == NodeChangeTypeEnum.CheckedState) { 
        // do something
    }
}

答案 1 :(得分:-1)

AfterCheckNode是事件。

private void _tree_AfterCheckNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e)
    { TreeListNode node = e.Node as TreeListNode;}