У меня есть Treeview, созданный в виртуальном режиме, который имеет 4 уровня узлов и на загрузке страницы загружаются корневой элемент и элементы первого уровня, и остальные будут загружаться на основе динамического использования события treeFolderList_VirtualModeCreateChildren
.Как сохранить контрольное состояние элементов в Devexpress Virtual Treeview?
Это то, что я до сих пор
protected void treeFolderList_VirtualModeCreateChildren(object source, TreeViewVirtualModeCreateChildrenEventArgs e)
{
List<TreeViewVirtualNode> children = new List<TreeViewVirtualNode>();
if (e.NodeName == null)
{
AppendChildNode(children, "root", "All Domains", false);
}
else
{
if (e.NodeName.Contains("root"))
{
PopulateChildNodes(false, children);
}
else
{
if (!(e.NodeName.StartsWith("u_")))
{
PopulateUserChildNodes(false, children, GetDomainBase(e.NodeName), e.NodeName);
}
else
{
TreeViewVirtualNode tvNode = (TreeViewVirtualNode)treeFolderList.Nodes.FindByName(e.NodeName);
TreeViewVirtualNode tvNodeParent = (TreeViewVirtualNode)tvNode.Parent;
string tvParentNodeName = tvNodeParent.Name;
PopulateUserChildNodes(true, children, GetDomainBase(tvParentNodeName), e.NodeName);
}
}
}
e.Children = children;
}
Эта работа, как и ожидалось, и это создает дочерние элементы при расширении узлов соответственно. Моя проблема в том, что у меня есть флажки для каждого узла, и мне нужно иметь возможность сохранять Treeview
таким образом, когда я перезагружаю/перенаправляю на страницу, это будет отражать выбранные мной узлы.
Есть ли способ достичь этого?
сказочный помощник! отлично работал. Сохранил список вместе с другими вещами, которые я хотел получить в БД, и извлек их, и установить режим макета клиента - Загрузка. –
@ LandMaster Отлично! Я рад, что ты заработал. Спасибо за принятие и отмену. – andrews