/// <summary>
 /// 删除分类节点。遍历分类节点下的子节点,如果是文件节点,调用删除文件节点的方法进行删除,如果是分类节点,递归调用
 /// </summary>
 /// <param name="node">要删除的节点</param>
 public static void RemoveCategoryNode(this RadTreeNode node)
 {
     //所属批次是从本地添加,不是来自服务器,可以直接删除分类节点
     if ((node.GetBatchNode().Tag as NBatchInfo).Operation == EOperType.eADD)
     {
         node.Remove();
     }
     else   //所属批次来自服务器,删除从本地添加的文件节点,其他文件节点设置删除标示
     {
         node.Visible = false;
         List <RadTreeNode> toDelNodes = GetFileNodesWithAddOperation(node);
         foreach (RadTreeNode toDelNode in toDelNodes)
         {
             toDelNode.Remove();
         }
     }
 }
Пример #2
0
        private void Menucategoryadd_Click(object sender, EventArgs e)
        {
            OpenFileDialog dialog = new OpenFileDialog
            {
                InitialDirectory = LibCommon.AppContext.GetInstance().Config.GetConfigParamValue("UISetting", "LastAccessDir"),
                Multiselect      = true
            };

            if (dialog.ShowDialog() == DialogResult.OK)
            {
                LibCommon.AppContext.GetInstance().Config.SetConfigParamValue("UISetting", "LastAccessDir", FileHelper.GetFileDir(dialog.FileNames[0]));
                RadTreeNode      selectedNode = navigateTree.SelectedNode;
                RadTreeNode      batchNode    = selectedNode.GetBatchNode();
                NBatchInfo       batchInfo    = batchNode.Tag as NBatchInfo;
                List <NFileInfo> fileInfos    = BeanUtil.FileDialog2FileInfo(dialog, batchInfo.BatchNO);
                AddNodeWithFileInfo(selectedNode, fileInfos, batchInfo);
                UpdateBatchNodeTitle(batchNode);
                batchNode.ExpandAll();
            }
        }