public virtual async Task <PagedDataSet <TItem, TResult> > BuildPagedDataSource() { var pds = new PagedDataSet <TItem, TResult>(); if (_nameSetter != null) { await pds.SetName(await _nameSetter(pds)); } if (_pageSizeSetter != null) { await pds.SetPageSize(await _pageSizeSetter(pds)); } if (_pageIndexSetter != null) { await pds.SetCurrentPageIndex(await _pageIndexSetter(pds)); } if (_focusSetter != null) { await pds.SetFocus(await _focusSetter(pds)); } if (_pageContentGenSetter != null) { pds.ContentGenerator = await _pageContentGenSetter(pds); } if (_selectorSetter != null) { await pds.SetSelector(await _selectorSetter(pds)); } if (_moverSetter != null) { await pds.SetMover(await _moverSetter(pds)); } if (_adderSetter != null) { await pds.SetAdder(await _adderSetter(pds)); } if (_removerSetter != null) { await pds.SetRemover(await _removerSetter(pds)); } if (_dataSourceSetter != null) { await pds.SetDataSource(await _dataSourceSetter(pds)); } if (_itemFilterSetter != null) { pds.ItemFilter = await _itemFilterSetter(pds); } if (_filterSetter != null) { await pds.SetFilter(await _filterSetter(pds)); } return(pds); }