private void dgvStatusSummary_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (dgvStatusSummary.Columns[e.ColumnIndex].Name == "StatusColumn") { if (e.Value != null) { // Convert column value to enum BaseProcess.ProcessStatus s = (BaseProcess.ProcessStatus)Enum.Parse(typeof(BaseProcess.ProcessStatus), e.Value.ToString()); // Set color based on value switch (s) { case BaseProcess.ProcessStatus.Failed: e.CellStyle.BackColor = Color.Red; break; case BaseProcess.ProcessStatus.Running: e.CellStyle.BackColor = Color.Yellow; break; case BaseProcess.ProcessStatus.Success: e.CellStyle.BackColor = Color.Green; break; case BaseProcess.ProcessStatus.UserActionRequired: e.CellStyle.BackColor = Color.OrangeRed; break; default: break; } } } }
private void UpdateSummaryStatus() { dgvStatusSummary.Rows.Clear(); foreach (BaseProcess p in _BIProcesses) { if (p.ShowSummaryStatus == true) { int newRowIndex = dgvStatusSummary.Rows.Add(); dgvStatusSummary.Rows[newRowIndex].Cells[0].Value = p.ProcessName; BaseProcess.ProcessStatus currentStatus = p.GetCurrentStatus(); dgvStatusSummary.Rows[newRowIndex].Cells[1].Value = currentStatus.ToString(); } } lblLastUpdated.Text = "Last updated: " + DateTime.Now.ToLongTimeString(); }