示例#1
0
        /// <summary>
        /// 递归填充
        /// </summary>
        /// <param name="root"></param>
        /// <param name="detial"></param>
        /// <returns></returns>
        private PropertyNodeItem FillItems(IJsonTreeNode root, JsonEntityDetial detial)
        {
            PropertyNodeItem item = PropertyNodeItem.Default;

            item.DisplayName             = root.DisplayName;
            item.JsonName                = root.JsonNodeName;
            item.EntityName              = root.DbName;
            item.MultiReleationShip      = root.MultiRelated;
            item.HasChildren             = root.ChildNodes.Count != 0;
            item.BuildJson               = root.BuildSingleFile;
            item.Selectable              = root.Selectable;
            item.HasCustomizedSql        = root.Sql.HasCustomizeSQLString;
            item.CustomizedSql           = root.Sql.CustomizeSQLString;
            item.CustomizedSqlParameters = root.Sql.Params?.ToString();
            item.VirtualNode             = root.IsSelectionParameter;
            item.IsExpanded              = root.Parent == null;

            foreach (IJsonTreeNode n in root.ChildNodes.Values)
            {
                var i = FillItems(n, detial);
                i.Parent = item;
                item.Childs.Add(i);
            }
            return(item);
        }
示例#2
0
        /// <summary>
        /// 从选项建立新设置
        /// </summary>
        /// <param name="root"></param>
        /// <param name="constr"></param>
        /// <returns></returns>
        private JsonEntityDetial BuildSetting(PropertyNodeItem root, String constr)
        {
            JsonEntityDetial detial = new JsonEntityDetial();

            detial.DbConnectStr = constr;
            foreach (PropertyNodeItem i in root.Childs)
            {
                detial.roots.Add(BuildNode(i, null));
            }
            return(detial);
        }
示例#3
0
        /// <summary>
        /// 将填充树载入View
        /// </summary>
        /// <param name="view"></param>
        /// <param name="detial"></param>
        private void LoadTreeView(TreeView view, JsonEntityDetial detial)
        {
            view.Items.Clear();
            ObservableCollection <PropertyNodeItem> items = new ObservableCollection <PropertyNodeItem>();

            items.Add(PropertyNodeItem.Default);
            items[0].DisplayName = "根节点";
            foreach (IJsonTreeNode n in detial.roots)
            {
                var i = FillItems(n, detial);
                i.Parent = items[0];
                items[0].Childs.Add(i);
            }
            view.ItemsSource = items;
        }
 public JsonExportProcessor(DataBaseAccess dataBase, JsonEntityDetial jsonEntity, String[] systemArgs)
 {
     dbAccess         = dataBase;
     systemParameters = systemArgs;
 }