private void ListCallback(IDbServiceAsyncCallback <List <object> > callback) { var data = (CachedListCallback)callback; var list = data.Cache.Data; list.RaiseListChangedEvents = false; list.Clear(); list.Add(string.Empty); foreach (var i in data.Results) { list.Add(i); } list.RaiseListChangedEvents = true; list.ResetBindings(); }
private void SearchComplete(IDbServiceAsyncCallback <DataTable> callback) { var data = (ResultCallback)callback; if (data.Exception != null) { MessageBox.Show(data.Exception.Message, "Search", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { ResultSQL = ((SearchDetails)data.Details).Sql; Result.DataSource = data.Results; } SearchCanceller = null; }
public Action GetList(IFieldPath path, IDbServiceAsyncCallback <List <object> > callback) //ListCallback callback) { var worker = new BackgroundWorker(); worker.WorkerSupportsCancellation = true; worker.DoWork += (s1, e1) => { e1.Result = GetList(path); e1.Cancel = worker.CancellationPending; }; worker.RunWorkerCompleted += (s2, e2) => { worker.Dispose(); // cancellation assumes the SearchWorker property has been set null if (e2.Cancelled) { return; } if (e2.Error != null) { //MessageBox.Show("There was an error when trying to perform the search.\n\n" + e2.Error.Message, "Search", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); callback.Exception = e2.Error; } else { callback.Results = e2.Result as List <object>; //callback(path, e2.Result as List<object>); } callback.Callback(callback); }; worker.RunWorkerAsync(); return(new Action(worker.CancelAsync)); }