【原创】XAF ITreeNode+NonPersistent 使用方式

时间:2023-03-10 01:07:11
【原创】XAF ITreeNode+NonPersistent  使用方式

在XAF中使用非持久化对象创建出TreeList这种树形结构

  private void SetShowRFID(TArchivesBorrow archivesInStorage, string rfidcode)
{
string rfidcodemain = "Main";
A_rfidstorage_archives_show archives_Show = new A_rfidstorage_archives_show(archivesInStorage.Session);
archives_Show.rfidcode = rfidcode;
if (archivesInStorage.showdetails.Any())
{
var treeobject = archivesInStorage.showdetails.First(); archives_Show.parentObj = treeobject; archivesInStorage.showdetails.Add(archives_Show);
treeobject.children.Add(archives_Show);
//Debug.WriteLine("从"+ archives_Show.parentObj.rfidcode);
}
else
{
archivesInStorage.rfidcode = rfidcodemain;
archivesInStorage.showdetails.Add(archives_Show);
//Debug.WriteLine("主" + rfidcode);
} //View.Refresh();
}

  重点代码就是

                archives_Show.parentObj = treeobject;
archivesInStorage.showdetails.Add(archives_Show);
treeobject.children.Add(archives_Show);

子节点由于不是持久化对象,Parent不会在添加的时候被赋予值 也就是调用这句

               archivesInStorage.showdetails.Add(archives_Show);

最后注意下这两句的顺序

                archivesInStorage.showdetails.Add(archives_Show);
treeobject.children.Add(archives_Show);

最终效果

【原创】XAF ITreeNode+NonPersistent  使用方式

【原创】XAF ITreeNode+NonPersistent  使用方式