public void AddPageRequest(int pageIndex, DataSourcePageRequestPriority priority) { if (DeferAutoRefresh) { return; } if (_worker != null && _worker.IsShutdown) { _worker = null; _callback = null; } if (_worker == null) { CreateWorker(); } if (priority == DataSourcePageRequestPriority.High) { _requests.AddFirst(pageIndex); } else { _requests.AddLast(pageIndex); } if (!_worker.AddPageRequest(pageIndex, priority)) { _worker = null; _callback = null; AddPageRequest(pageIndex, priority); } }
private void KillWorker() { if (_worker != null) { _worker.Shutdown(); _worker = null; _callback = null; } }
public void Close() { if (_worker != null) { _worker.Shutdown(); _worker = null; _callback = null; } }
private void CreateWorker() { if (!Valid()) { return; } _callback = RaisePageLoaded; var settings = GetWorkerSettings(); _worker = new ODataVirtualDataSourceDataProviderWorker( settings); }