예제 #1
0
        public SmartDataSource(SmartDataSourceConfiguration <T> configuration) : this()
        {
            Configuration = configuration;

            DataProvider.ItemsChanged        += DataProvider_OnItemsChanged;
            DataProvider.GroupInfoChanged    += DataProvider_OnGroupInfoChanged;
            DataProvider.TotalSummaryChanged += DataProvider_OnTotalSummaryChanged;

            Apply(null, null, 0, null, null);
        }
        public static ASPxTreeList SetSmartDataSource <T>(this ASPxTreeList source, Action <SmartDataSourceConfiguration <T> > configurationAction)
            where T : class
        {
            var smartDataSourceConfiguration = new SmartDataSourceConfiguration <T>()
                                               .SetKeyPropertyName(source.KeyFieldName)
                                               .SetPageSize(source.SettingsPager.PageSize);

            if (configurationAction != null)
            {
                configurationAction.Invoke(smartDataSourceConfiguration);
            }

            source.DataSource = new SmartDataSource <T>(smartDataSourceConfiguration.EnsureComplete());
            source.DataBind();
            return(source);
        }