Есть ли какое-либо событие, которое Fires, когда замечает, что у узла из TreeList была отмечена галочка из кода? - PullRequest
2 голосов
/ 14 ноября 2011

У меня есть часть кода, которая анализирует список с идентификаторами проверенных узлов и проверяет существующие идентификаторы TreeList.( Я использую XtraTreeList control )

Я хочу рассчитать сумму для каждого проверенного узла, и я просто хочу сделать этокогда узел проверен.

Есть ли какое-либо событие, которое отмечает, что узел из TreeList был проверен из кода ( программный )?

Причина, если я проверяю / снимаю флажок с помощью мыши, илис клавиатурой BeforeCheckNode и AfterCheckNode события принимают пожар, но когда я проверяю узел из кода - они не запускаются.

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 ]

2 голосов
/ 14 ноября 2011

Вы можете использовать событие TreeList.NodeChanged :

void treeList1_NodeChanged(object sender, NodeChangedEventArgs e) {
    if(e.ChangeType == NodeChangeTypeEnum.CheckedState) { 
        // do something
    }
}
0 голосов
/ 13 июня 2012

AfterCheckNode - это событие.

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