Esempio n. 1
0
 internal BaseLevelTree(ITableScheme scheme, LevelTreeDefinition levelDef,
                        IDbDataSource source, ILevelProvider provider)
 {
     fSelector   = new LevelSelector(scheme, levelDef, source);
     fProvider   = provider;
     fDefinition = levelDef;
 }
Esempio n. 2
0
        public LevelScheme(ITableScheme sourceScheme, LevelTreeDefinition levelDef)
        {
            fFields = new RegNameList <FieldItem>();

            fFields.Add(new KeyFieldItem(sourceScheme[levelDef.IdField]));
            fFields.Add(new FieldItem(sourceScheme[levelDef.NameField]));
            TreeScheme.AddFakeField(fFields, sourceScheme);
            TableName = sourceScheme.TableName;
        }
Esempio n. 3
0
        internal static IParamBuilder GetLevelBuilder(TableSelector selector,
                                                      LevelTreeDefinition treeDef, int level, string value, ILevelProvider provider)
        {
            IParamBuilder[] builders = new IParamBuilder[level + 1];
            IFieldInfo      idField  = selector.GetFieldInfo(treeDef.IdField);

            for (int i = 0; i <= level; ++i)
            {
                string likeValue = provider.GetSqlLikeValue(treeDef, i, value);
                builders[i] = SqlParamBuilder.CreateSingleSql(selector.Context, idField, "LIKE",
                                                              treeDef.IdField + i, likeValue);
            }
            IParamBuilder builder = SqlParamBuilder.CreateParamBuilderWithOr(builders);

            return(builder);
        }
Esempio n. 4
0
        public LevelDataRowTreeNode(ITree tree, DataRow row,
                                    LevelTreeDefinition treeDef, ILevelProvider provider)
            : base(tree, row)
        {
            Id   = row[treeDef.IdField].ToString();
            Name = row[treeDef.NameField].ToString();
            int level = provider.GetLevel(treeDef, Id);

            ParentId = provider.GetParentId(treeDef, level, Id);
            if (level < treeDef.TotalLevel - 1)
            {
                HasChild = true;
                NodeType = level == 0 ? TreeNodeType.Root : TreeNodeType.Branch;
            }
            else
            {
                NodeType = TreeNodeType.Leaf;
            }
        }
Esempio n. 5
0
 public LevelTree(ITableScheme scheme, LevelTreeDefinition levelDef, IDbDataSource source)
     : base(scheme, levelDef, source, LevelProvider.Provider)
 {
 }
Esempio n. 6
0
 protected abstract ITree CreateTree(ITableScheme scheme,
                                     LevelTreeDefinition treeDef, IDbDataSource dataSource);
Esempio n. 7
0
 public LevelSelector(ITableScheme scheme, LevelTreeDefinition levelDef, IDbDataSource source)
     : base(new LevelScheme(scheme, levelDef), source)
 {
     TreeSelector.SetFakeDelete(this, scheme);
 }
Esempio n. 8
0
 protected override ITree CreateTree(ITableScheme scheme,
                                     LevelTreeDefinition treeDef, IDbDataSource dataSource)
 {
     return(new LevelTree(scheme, treeDef, dataSource));
 }