2011-11-14 3 views
2

私はチェックされたノードIDを持つリストを分析し、TreeListの既存のIDをチェックするコードの一部を持っています。私は、各確認ノードに対して量を計算すると、ノードがチェックされたときに、これを行うために私はちょうどかかわらTreeListのノードにコードからチェックマークが付いていることを確認したときに発生するイベントはありますか?

を(私はXtraTreeList制御を使用しています)。

TreeListのノードがコード(プログラム番号)からチェックされていることを確認するイベントはありますか。私は/チェックマウスでノードのチェックを外し、またはキーボードBeforeCheckNodeAfterCheckNodeイベントであれば

原因は火がかかりますが、私は、コードからノードをチェックするとき - 彼らが火をしません。

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

これはあなたのコードです。だからあなた自身のイベントを発動するか、イベントハンドラを直接呼び出してください。 –

+0

実際には、このTreeListの設計後に金額を計算する必要があります。初期化を行うときに別のクラスからイベントを呼び出す必要があります。 – meorfi

答えて

2

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

ありがとうDmitryG! (弓) – meorfi

+1

@meorfi:あなたはいつでも歓迎です!次回は、[DevExpress Support Center](http://www.devexpress.com/support/center)を使用して、質問やレポートの問題を尋ねます。コミュニティ、ニュースグループ、またはコミュニティを使用するときにDevExpressの関与が保証されないためです。他の通信チャネル。 – DmitryG

-1

AfterCheckNodeはイベントです:あなたはTreeList.NodeChangedイベントを使用することができます

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