/// <summary> /// 刷新定时任务表格中某个定时任务的显示数据 /// </summary> /// <param name="timerTask">已绑定表格的定时任务对象</param> private void RefreshTimerTask(AbstractTimerTask timerTask) { int index = timerTaskList.IndexOf(timerTask); timerTaskDataTable.Rows[index]["TimerName"] = timerTask.TimerName; timerTaskDataTable.Rows[index]["IntervalTime"] = timerTask.IntervalTime; timerTaskDataTable.Rows[index]["ExecStatusName"] = timerTask.ExecStatusName; }
/// <summary> /// 修改选中的定时任务的状态 /// </summary> /// <param name="execStatus">执行状态</param> private void ChangeTimerTaskStatus(ExecStatus execStatus) { string changeTxt = "开启"; if (execStatus == ExecStatus.PausedExec) { changeTxt = "暂停"; } if (timerDataGridView.SelectedRows.Count == 0) { MessageBox.Show(timerDataGridView, $"请选择要{changeTxt}的定时任务", "定时任务提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } for (int i = 0; i < timerDataGridView.SelectedRows.Count; i++) { DataGridViewRow row = timerDataGridView.SelectedRows[i]; int index = timerDataGridView.Rows.IndexOf(row); if (index >= timerTaskList.Count) { MessageBox.Show(this, "请选择有效的定时任务", "定时任务提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); continue; } AbstractTimerTask timerTask = timerTaskList[index]; if (timerTask.ExecStatus == ExecStatus.Working) { console.Warn($"请等到【{timerTask.TimerName}】执行完成,再{changeTxt}。"); continue; } else if (timerTask.ExecStatus == ExecStatus.TerminatedExec) { console.Warn($"【{timerTask.TimerName}】已终止执行,无法{changeTxt}。"); continue; } timerTask.ExecStatus = execStatus; RefreshTimerTask(timerTask); } }