Пример #1
0
        void LoadMoreItems(uint count, int baseIndex)
        {
            BackgroundWorker worker = new BackgroundWorker();

            //worker.RunWorkerAsync ();
            worker.DoWork += (o, ae) =>
            {
                DataServiceQuery <Order> query = northwindEntity.Orders.Expand("Customer");
                query = query.Skip <Order>(baseIndex).Take <Order>(50) as DataServiceQuery <Order>;
                IAsyncResult ar    = query.BeginExecute(null, null);
                var          items = query.EndExecute(ar);
                var          list  = items.ToList();

                Android.OS.Handler mainHandler = new Android.OS.Handler(Android.OS.Looper.MainLooper);
                Java.Lang.Runnable myRunnable  = new Java.Lang.Runnable(() =>
                {
                    GridSource.LoadItems(list);
                });
                mainHandler.Post(myRunnable);
            };

            worker.RunWorkerCompleted += (o, ae) =>
            {
                IsBusy = false;
            };

            IsBusy = true;
            worker.RunWorkerAsync();
        }
Пример #2
0
        // Private method that returns the page-specific query.
        private DataServiceQuery <Title> GetQuery()
        {
            // Get a query for the Titles feed from the context.
            DataServiceQuery <Title> query = _context.Titles;

            if (_currentPage == 0)
            {
                // If this is the first page, then also include a count of all titles.
                query = query.IncludeTotalCount();
            }

            // Add paging to the query.
            query = query.Skip(_currentPage * _pageSize)
                    .Take(_pageSize) as DataServiceQuery <Title>;

            return(query);
        }
Пример #3
0
        void LoadMoreItems(uint count, int baseIndex)
        {
            BackgroundWorker worker = new BackgroundWorker();

            worker.DoWork += (o, ae) => {
                DataServiceQuery <Order> query = northwindEntity.Orders.Expand("Customer");
                query = query.Skip <Order> (baseIndex).Take <Order> (15) as DataServiceQuery <Order>;
                IAsyncResult ar    = query.BeginExecute(null, null);
                var          items = query.EndExecute(ar);
                var          list  = items.ToList();

                DispatchQueue.MainQueue.DispatchAsync(new Action(() => {
                    GridSource.LoadItems(list);
                }));
            };

            worker.RunWorkerCompleted += (o, ae) => {
                IsBusy = false;
                UIView.Animate(2, () => {
                    for (int i = 5; i < 0; i--)
                    {
                        LoaderBorder.Alpha = i - 0.1f;
                    }

                    LoaderBorder.Hidden = true;
                });
                this.LoaderIndicator.StopAnimating();
                this.LoaderIndicator.HidesWhenStopped = true;
                this.LoaderLable.Hidden = true;
            };

            IsBusy = true;
            {
                this.LoaderLable.Hidden = false;
                LoaderBorder.Hidden     = false;
                UIView.Animate(2, () => {
                    this.LoaderIndicator.StartAnimating();
                });
            }
            worker.RunWorkerAsync();
        }
Пример #4
0
        void LoadMoreItems(uint count, int baseIndex)
        {
            BackgroundWorker worker = new BackgroundWorker();

            worker.DoWork += (o, ae) =>
            {
                DataServiceQuery <Order> query = northwindEntity.Orders.Expand("Customer");
                query = query.Skip <Order>(baseIndex).Take <Order>(50) as DataServiceQuery <Order>;
                IAsyncResult ar    = query.BeginExecute(null, null);
                var          items = query.EndExecute(ar);
                var          list  = items.ToList();
                Application.Current.Dispatcher.Invoke(new Action(() => { GridSource.LoadItems(list); }));
            };

            worker.RunWorkerCompleted += (o, ae) =>
            {
                IsBusy = false;
            };

            IsBusy = true;
            worker.RunWorkerAsync();
        }
        async Task <IList <Order> > LoadMoreItems(CancellationToken c, uint count, int baseIndex)
        {
            IList <Order> list = null;

            IsBusy = true;

            await Task.Run(new Action(() =>
            {
                DataServiceQuery <Order> query = northwindEntity.Orders.Expand("Customer");
                query = query.Skip <Order>(baseIndex).Take <Order>(50) as DataServiceQuery <Order>;
                try
                {
                    IAsyncResult ar = query.BeginExecute(null, null);
                    var items = query.EndExecute(ar);
                    list = items.ToList();
                }
                catch (Exception)
                {
                }
            }));

            IsBusy = false;
            return(list);
        }