private void EventStatusComplete(object state) { currentEventTaskId = null; ListViewItemEventArgs e = state as ListViewItemEventArgs; if (e.Error != null || e.Cancelled || e.Items == null || e.Items.Length == 0) { label4.Text = "No results"; } else { #if NET_35_OR_GREATER ListViewGroup lvgroup = new ListViewGroup(); statusListView.BeginUpdate(); int running = 0, succeeded = 0, stopped = 0, failed = 0; for (int i = 0; i < e.Items.Length; i++) { if (lvgroup.Header != e.Items[i].Text) { lvgroup = new ListViewGroup(e.Items[i].Text); statusListView.Groups.Add(lvgroup); lvgroup.SetCollapsible(true); } e.Items[i].Group = lvgroup; statusListView.Items.Add(e.Items[i]); switch (((CorrelatedTaskEvent)e.Items[i].Tag).RunResult) { case CorrelatedTaskEvent.Status.StillRunning: running++; break; case CorrelatedTaskEvent.Status.Success: succeeded++; break; case CorrelatedTaskEvent.Status.Failure: failed++; break; case CorrelatedTaskEvent.Status.Terminated: stopped++; break; default: break; } } statusListView.EndUpdate(); label4.Text = string.Format(label4.Tag.ToString(), e.Items.Length, running, succeeded, stopped, failed); #endif } statusListView.UseWaitCursor = false; }
private void statusBackgroundWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) { ListViewItem[] items = e.Result as ListViewItem[]; if (items == null) { label4.Text = "No results"; return; } ListViewGroup lvgroup = new ListViewGroup(); statusListView.BeginUpdate(); int running = 0, succeeded = 0, stopped = 0, failed = 0; for (int i = 0; i < items.Length; i++) { if (lvgroup.Header != items[i].Text) { lvgroup = new ListViewGroup(items[i].Text); statusListView.Groups.Add(lvgroup); lvgroup.SetCollapsible(true); } items[i].Group = lvgroup; statusListView.Items.Add(items[i]); #if NET_35_OR_GREATER switch (((CorrelatedTaskEvent)items[i].Tag).RunResult) { case CorrelatedTaskEvent.Status.StillRunning: running++; break; case CorrelatedTaskEvent.Status.Success: succeeded++; break; case CorrelatedTaskEvent.Status.Failure: failed++; break; case CorrelatedTaskEvent.Status.Terminated: stopped++; break; default: break; } #endif } statusListView.EndUpdate(); statusListView.UseWaitCursor = false; label4.Text = string.Format(label4.Tag.ToString(), items.Length, running, succeeded, stopped, failed); }