/// <summary> /// 更新站点状态 /// </summary> /// <returns></returns> public bool UpdateStationStatus(string stationId, EStationClockState state) { base.m_mutexDataTable.WaitOne(); for (int i = 0; i < m_dataTable.Rows.Count; ++i) { if (stationId == m_dataTable.Rows[i][CS_StationID].ToString()) { // 如果找到匹配 EDataState showstate = CExDataGridView.EDataState.ENormal; if (state == EStationClockState.EAdjustFailed) { // 对时失败,显示成红色 showstate = CExDataGridView.EDataState.EError; } else if (state == EStationClockState.EAjustSuccess) { showstate = CExDataGridView.EDataState.EPink; } string[] newRow = new string[] { m_dataTable.Rows[i][CS_Select].ToString(), m_dataTable.Rows[i][CS_StationID].ToString(), m_dataTable.Rows[i][CS_StationName].ToString(), m_dataTable.Rows[i][CS_StationGprs].ToString(), m_dataTable.Rows[i][CS_SubCenterName].ToString(), // m_dataTable.Rows[i][CS_OnlineOrOffline].ToString(), GetStatusUIStr(state) }; base.m_mutexDataTable.ReleaseMutex(); base.UpdateRowData(i, newRow, showstate); return(true); } } return(false); }
/// <summary> /// 根据状态,返回显示的字符串 /// </summary> /// <param name="state"></param> /// <returns></returns> private string GetStatusUIStr(EStationClockState state) { string result = ""; switch (state) { case EStationClockState.EReady: result = "准备就绪"; break; case EStationClockState.EStartAdjust: result = "正在对时"; break; case EStationClockState.EAjustSuccess: result = "对时成功"; break; case EStationClockState.EAdjustFailed: result = "对时失败"; break; } return(result); }