2

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

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

是否有任何事件观察到 TreeList 中的节点已从代码(程序化)中检查?

因为如果我用鼠标或键盘检查/取消选中节点BeforeCheckNodeAfterCheckNode事件会触发,但是当我从代码中检查节点时 - 它们不会触发。

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);
    }
}
4

2 回答 2

3

您可以使用TreeList.NodeChanged事件:

void treeList1_NodeChanged(object sender, NodeChangedEventArgs e) {
    if(e.ChangeType == NodeChangeTypeEnum.CheckedState) { 
        // do something
    }
}
于 2011-11-14T14:19:15.907 回答
-1

AfterCheckNode 是事件。

private void _tree_AfterCheckNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e)
    { TreeListNode node = e.Node as TreeListNode;}
于 2012-06-13T02:39:23.007 回答