0

XtratTreeList でチェックボックスを条件付きで無効にするにはどうすればよいですか? NodeChangedおよびCustomDrawNodeCheckBoxイベントがあります。

treeList1_CustomDrawNodeCell1つのノードのみを提供するイベントを使用する場合。すなわち

using DevExpress.XtraTreeList;
using DevExpress.Utils.Drawing;
using DevExpress.XtraEditors.ViewInfo;
//...
void treeList1_CustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e) {
    CheckEditViewInfo editViewInfo = e.EditViewInfo as CheckEditViewInfo;
    if (editViewInfo == null) 
        return;
    editViewInfo.CheckInfo.State = ObjectState.Disabled;
}

ノード間に関係があります。ユーザーが 1 つのノードをチェックする場合、そのノードに関連するノードのみがチェックを許可/有効にする必要があります。

4

1 に答える 1

2

Devexpress にはそれを行う直接的な方法がないため、次の手順を実行する必要があります。

それに応じて外観を変更するには、CustomDrawNodeCheckBox event

private void treeList1_CustomDrawNodeCheckBox(object sender, CustomDrawNodeCheckBoxEventArgs e)
{
    //Your condition
    e.ObjectArgs.State = ObjectState.Disabled;
}

特定のチェックボックスがチェックされないようにするには、BeforeCheckNode event

private void treeList1_BeforeCheckNode(object sender, CheckNodeEventArgs e)
{
    //Your condition
    e.CanCheck = false;
}

この助けを願っています;)

于 2012-08-30T08:56:30.643 に答える