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(); }
// 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); }
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(); }
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); }