Code Snippet
publicvoid RefreshStatus(DataSet Status) {
try {
UpdateMachineStatus(Status.Tables["MachineStatus"]);
UpdateMainStatus(Status.Tables["MainStatus"]);
}
catch (Exception ex) {
Program.log.Add("Error updating datagridview status.", ex);
}
}
privatevoid UpdateMachineStatus(DataTable StatusData) {
if (this.dgvMachineStatus.InvokeRequired) {
SetDataTableCallBack d = newSetDataTableCallBack(UpdateMachineStatus);
this.Invoke(d, newobject[] { StatusData });
}
else {
try {
if (StatusData.Rows.Count > 0) {
this.dgvMachineStatus.DataSource = StatusData;
this.dgvMachineStatus.Refresh();
}
}
catch (Exception ex) {
Program.log.Add("Error updaing Machine Status", ex);
}
}
}
privatevoid UpdateMainStatus(DataTable StatusData) {if (this.dgvMainStatus.InvokeRequired) {SetDataTableCallBack d = newSetDataTableCallBack(UpdateMainStatus);this.Invoke(d, newobject[] { StatusData });}
else {try {if (StatusData.Rows.Count > 0) {this.dgvMainStatus.DataSource = StatusData;this.dgvMainStatus.Refresh();foreach (DataGridViewRow dr in dgvMainStatus.Rows) {if (dr.Cells.Count > 0) {if (dr.Cells[0].Value.ToString().Contains("Off")) {dgvMainStatus.Rows[dr.Index].Cells[0].Style.BackColor =
Color.Red;dgvMainStatus.Rows[dr.Index].Cells[0].Style.SelectionBackColor =
Color.Red;}
else {dgvMainStatus.Rows[dr.Index].Cells[0].Style.BackColor =
Color.Green;dgvMainStatus.Rows[dr.Index].Cells[0].Style.SelectionBackColor =
Color.Green;}
}
}
}
}
catch (Exception ex) {Program.log.Add("Error updating Main Status", ex);}
}
}
privatevoid SetDataGridViewErrorHandler() {dgvFactoryStatus.DataError +=
newDataGridViewDataErrorEventHandler(dgv_DataError);dgvMachineStatus.DataError +=
newDataGridViewDataErrorEventHandler(dgv_DataError);dgvMainStatus.DataError +=
newDataGridViewDataErrorEventHandler(dgv_DataError);}
void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e) {Program.log.Add("Error updating Datagridview. Context:" + e.Context.ToString(), e.Exception);ErrorCount = ErrorCount + 1;
lblErrors.Text =
"Form Errors: " + ErrorCount;}