internal BaseLevelTree(ITableScheme scheme, LevelTreeDefinition levelDef, IDbDataSource source, ILevelProvider provider) { fSelector = new LevelSelector(scheme, levelDef, source); fProvider = provider; fDefinition = levelDef; }
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; }
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); }
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; } }
public LevelTree(ITableScheme scheme, LevelTreeDefinition levelDef, IDbDataSource source) : base(scheme, levelDef, source, LevelProvider.Provider) { }
protected abstract ITree CreateTree(ITableScheme scheme, LevelTreeDefinition treeDef, IDbDataSource dataSource);
public LevelSelector(ITableScheme scheme, LevelTreeDefinition levelDef, IDbDataSource source) : base(new LevelScheme(scheme, levelDef), source) { TreeSelector.SetFakeDelete(this, scheme); }
protected override ITree CreateTree(ITableScheme scheme, LevelTreeDefinition treeDef, IDbDataSource dataSource) { return(new LevelTree(scheme, treeDef, dataSource)); }