コード例 #1
0
        /// <summary>
        /// Specify the data source for the table
        /// </summary>
        /// <typeparam name="TData">The type of original data, available as a queryable</typeparam>
        /// <param name="queryable">The original data to expose</param>
        /// <param name="configure">Configures the details of the data source</param>
        /// <returns>The original builder object</returns>
        /// <remarks>This method changes and returns the original builder object</remarks>
        public DataTableBuilder <TViewModel> WithDataSource <TData>(IQueryable <TData> queryable, Action <DataProviderBuilder <TData, TViewModel> > configure)
        {
            var builder = new DataProviderBuilder <TData, TViewModel>(queryable);

            configure(builder);
            _dataProvider = builder.Build();

            return(this);
        }
コード例 #2
0
        public UniDataTable Init(IFilteredDataProvider <Json> dataProvider, IEnumerable <DataTableColumn> sourceColumns, int initialPageSize, int initialPageIndex, Order initialOrder)
        {
            CheckDisposed();
            this.DataProvider = dataProvider;

            Pagination.DataProvider           = dataProvider;
            Pagination.LoadRowsForCurrentPage = LoadRowsForCurrentPage;
            Pagination.LoadRows     = LoadRows;
            Pagination.GetTotalRows = () => (int)TotalRows;

            this.DataProvider.PaginationConfiguration  = new PaginationConfiguration(initialPageSize, initialPageIndex);
            this.DataProvider.FilterOrderConfiguration = new FilterOrderConfiguration(initialOrder, new Filter[0]);

            PopulateColumns(sourceColumns);
            LoadRowsForCurrentPage();

            return(this);
        }
コード例 #3
0
        /// <summary>
        /// Specify the data source for the table. This method allows the developer to use custom implementation of <see cref="IFilteredDataProvider{TViewModel}"/>.
        /// It's usually sufficient to use other overloads that accept <see cref="IQueryable{TData}"/> directly
        /// </summary>
        /// <param name="dataProvider">The data source object</param>
        /// <returns>The original builder object</returns>
        /// <remarks>This method changes and returns the original builder object</remarks>
        public DataTableBuilder <TViewModel> WithDataSource(IFilteredDataProvider <TViewModel> dataProvider)
        {
            _dataProvider = dataProvider;

            return(this);
        }