Exemple #1
0
        public MainWindow()
        {
            InitializeComponent();
            var source = new InfiniteAsyncSource()
            {
                ElementType = typeof(SCIssuesDemo)
            };

            source.FetchRows           += (o, e) => e.Result = Task.Run(() => FetchRows(e));
            autoSuggestEdit.ItemsSource = source;
            Closing += (o, e) => source.Dispose();
        }
        public MainWindow()
        {
            InitializeComponent();

            var source = new InfiniteAsyncSource()
            {
                ElementType = typeof(IssueData)
            };

            Unloaded += (o, e) => {
                source.Dispose();
            };

            source.FetchRows += (o, e) => {
                e.Result = Task.Run(() => FetchRows(e));
            };

            grid.ItemsSource = source;
        }
Exemple #3
0
        public MainWindow()
        {
            InitializeComponent();

            var source = new InfiniteAsyncSource()
            {
                ElementType = typeof(IssueData)
            };

            Unloaded += (o, e) => {
                source.Dispose();
            };

            var getSourceTask = Task.Run(() => {
                return(Enumerable
                       .Range(0, 10000000)
                       .Select(i => OutlookDataGenerator.CreateIssue())
                       .ToList());
            });

            source.FetchRows += (o, e) => {
                e.Result = FetchRows(e, getSourceTask);
            };

            source.GetTotalSummaries += (o, e) => {
                e.Result = GetTotalSummaries(e, getSourceTask);
            };

            source.GetUniqueValues += (o, e) => {
                if (e.PropertyName == "Priority")
                {
                    e.Result = Task.FromResult(Enum.GetValues(typeof(Priority)).Cast <object>().ToArray());
                }
                else
                {
                    throw new InvalidOperationException();
                }
            };

            grid.ItemsSource = source;
        }
        public MainWindow()
        {
            InitializeComponent();

            var source = new InfiniteAsyncSource()
            {
                CustomProperties = GetCustomProperties()
            };

            Unloaded += (o, e) => {
                source.Dispose();
            };

            source.FetchRows += (o, e) => {
                e.Result = FetchRowsAsync(e);
            };

            source.GetUniqueValues += (o, e) => {
                e.Result = GetUniqueValuesAsync(e.PropertyName);
            };

            grid.ItemsSource = source;
        }
        public MainWindow()
        {
            InitializeComponent();
            var source = new InfiniteAsyncSource()
            {
                ElementType = typeof(IssueData)
            };

            Unloaded += (o, e) => {
                source.Dispose();
            };

            source.FetchRows += (o, e) => {
                e.Result = Task.Run(() => FetchRows(e));
            };

            source.GetUniqueValues += (o, e) => {
                if (e.PropertyName == "User")
                {
                    e.ResultWithCounts = Task.Run(() => GetIssueDataQueryable().DistinctWithCounts(e.PropertyName));
                }
                else
                {
                    e.Result = Task.Run(() => GetIssueDataQueryable().Distinct(e.PropertyName));
                }
            };

            source.GetTotalSummaries += (o, e) => {
                e.Result = Task.Run(() => {
                    var queryable = GetIssueDataQueryable()
                                    .Where(MakeFilterExpression(e.Filter));
                    return(queryable.GetSummaries(e.Summaries));
                });
            };

            grid.ItemsSource = source;
        }
        public MainWindow()
        {
            InitializeComponent();

            var source = new InfiniteAsyncSource()
            {
                ElementType = typeof(IssueData),
                KeyProperty = "Id"
            };

            Unloaded += (o, e) => {
                source.Dispose();
            };

            source.FetchRows += (o, e) => {
                e.Result = FetchRowsAsync(e);
            };

            source.GetUniqueValues += (o, e) => {
                if (e.PropertyName == "Priority")
                {
                    var values = Enum.GetValues(typeof(Priority)).Cast <object>().ToArray();
                    e.Result = Task.FromResult(values);
                }
                else
                {
                    throw new InvalidOperationException();
                }
            };

            source.GetTotalSummaries += (o, e) => {
                e.Result = GetTotalSummariesAsync(e);
            };

            grid.ItemsSource = source;
        }