如何从 Devexpress Winforms 中的 schedulerstorage 资源数据源获取 ResourcesTree 节点

How to get ResourcesTree node from schedulerstorage resource datasource in Devexpress Winforms

我有一个要求,根据资源树中的一些文本,我应该突出显示相应的行。我知道我们可以通过 resourcesTree.FindNodeByID(1).Selected = true; 来完成 但是如何从数据源获取节点 ID,因为我正在为调度程序存储数据源分配自定义资源。

您可以使用TreeListNode.FindNodeByFieldValue方法获取节点:

resourcesTree.FindNodeByFieldValue("SomeColumnName", "SomeText").Selected = true;

此外,您可以使用TreeList.FindNode方法:

resourcesTree.FindNode(node =>
{
    var item = (YourSchedulerStorageItem)resourcesTree.GetDataRecordByNode(node);
    return item.SomeProperty == "SomeText";
}).Selected = true;

但您也可以使用搜索引擎突出显示树列表行。为此,您可以使用 TreeList.ApplyFindFilter 方法。
例如,如果你有这棵树:

然后你可以使用这个:

treeList.ApplyFindFilter("\"Task 1\"");

并且所有 Task 1 个节点将被突出显示: