public async override Task ExecuteRequestAsync(bool updateGrid = true) { if (InfluxDbClient == null) { throw new Exception("No InfluxDB client available."); } // Clear current items listView.Items.Clear(); // Start redraw listView.BeginUpdate(); // Query and render var queries = await InfluxDbClient.GetRunningQueriesAsync(); foreach (var q in queries) { listView.Items.Add(new ListViewItem(new string[] { q.PID.ToString(), q.Duration, q.Database.ToString(), q.Query }) { Tag = q }); } // Restore selection if (SelectedQuery != null) { var pid = SelectedQuery.PID.ToString(); foreach (ListViewItem li in listView.Items) { if (li.Text == pid) { li.Selected = true; SelectedQuery = (InfluxDbRunningQuery)li.Tag; } } } // Resize each column //if (listView.Columns.Count > 0) //{ // var columnWidth = (Width - 12) / listView.Columns.Count; // if (columnWidth < 96) columnWidth = 96; // foreach (ColumnHeader col in listView.Columns) col.Width = columnWidth; //} // Render listView.EndUpdate(); UpdateUIState(); }