using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Dto; using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model; using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service; using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service.Impl; using Casic.Birmm.RbFreqStandMeasure.Tools; using DevComponents.DotNetBar.Controls; using DevComponents.Editors; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; namespace Casic.Birmm.RbFreqStandMeasure.info { public partial class DetailDlg : Form { #region 无边框拖动效果/最小化窗口/关闭窗口 [DllImport("user32.dll")]//拖动无窗体的控件 public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); public const int WM_SYSCOMMAND = 0x0112; public const int SC_MOVE = 0xF010; public const int HTCAPTION = 0x0002; private void panel1_MouseDown(object sender, MouseEventArgs e) { //拖动窗体 ReleaseCapture(); SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); } #endregion #region 样式常量定义 private readonly Color titleBackColor = Color.FromArgb(63, 132, 215); // #3F64D7 private readonly Color tableForeColor = Color.White; private readonly Font titleFont = new Font("微软雅黑", 14F, FontStyle.Regular, GraphicsUnit.Pixel, 134); private readonly Color inputBlack = Color.FromArgb(51, 51, 51); // #333333 private readonly Color inputDefault = Color.FromArgb(204, 204, 204); // #CCCCCC #endregion DataTable tableOriginData = new DataTable(); DataTable tableTimes = new DataTable(); DetectionService detectionService = new DetectionServiceImpl(); DetectionItemService detectionItemService = new DetectionItemServiceImpl(); long deviceId = -1; string startTime = ""; string endTime = ""; public Action HideMaskAction { get; set; } public DetailDlg(long deviceId) { InitializeComponent(); this.deviceId = deviceId; LoadTimes(deviceId); if (tableTimes.Rows.Count > 0) { startTime = Convert.ToDateTime(dataGridView_times.Rows[0].Cells[1].Value).ToString("yyyy-MM-dd HH:mm:ss"); endTime = Convert.ToDateTime(dataGridView_times.Rows[0].Cells[2].Value).ToString("yyyy-MM-dd HH:mm:ss"); LoadData(deviceId, "1", startTime, endTime); stability result = new stability(); result.Show(); panel_result.Controls.Add(result); } } // 关闭对话框 private void btnClose_Click(object sender, EventArgs e) { this.HideMaskAction(); } // 数据列表 private void LoadData(long deviceId, string detectionItem, string startTime, string endTime) { tableOriginData = new DataTable(); // 设置表格的列 tableOriginData.Columns.Add("序号", Type.GetType("System.String")); tableOriginData.Columns.Add("时间", Type.GetType("System.String")); tableOriginData.Columns.Add("相对频率偏差", Type.GetType("System.String")); // 获取当前页的数据 List<DetectionDto> queryList = detectionService.search(deviceId, detectionItem, startTime, endTime); if (null != queryList && queryList.Count > 0) { int index = 1; foreach (DetectionDto detection in queryList) { tableOriginData.Rows.Add(index, detection.LogTime, detection.Frequency); index++; } label_noData.Visible = false; dataGridView_Data.DataSource = tableOriginData; // width=425px dataGridView_Data.Columns[0].Width = 60; dataGridView_Data.Columns[1].Width = 185; dataGridView_Data.Columns[2].Width = 180; dataGridView_Data.Columns[0].ReadOnly = true; dataGridView_Data.Columns[1].ReadOnly = true; dataGridView_Data.Columns[2].ReadOnly = true; dataGridView_Data.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable; dataGridView_Data.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable; dataGridView_Data.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable; } else { dataGridView_Data.DataSource = null; label_noData.Visible = true; } } // 检测记录列表 private void LoadTimes(long deviceId) { dataGridView_times.Columns.Clear(); dataGridView_times.Rows.Clear(); tableTimes = new DataTable(); // 设置表格的列 tableTimes.Columns.Add("序号", Type.GetType("System.String")); tableTimes.Columns.Add("开始时间", Type.GetType("System.String")); tableTimes.Columns.Add("结束时间", Type.GetType("System.String")); // 获取当前页的数据 List<DetectionItem> queryList = detectionItemService.search(deviceId, false); if (null != queryList && queryList.Count > 0) { int index = 1; foreach (DetectionItem detection in queryList) { tableTimes.Rows.Add(index, detection.StartTime.ToString("yyyy-MM-dd HH:mm:ss"), detection.EndTime.ToString("yyyy-MM-dd HH:mm:ss")); index++; } label_noTimes.Visible = false; dataGridView_times.DataSource = tableTimes; // width=407px dataGridView_times.Columns[0].Width = 47; dataGridView_times.Columns[1].Width = 180; dataGridView_times.Columns[2].Width = 180; dataGridView_times.Columns[0].ReadOnly = true; dataGridView_times.Columns[1].ReadOnly = true; dataGridView_times.Columns[2].ReadOnly = true; dataGridView_times.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable; dataGridView_times.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable; dataGridView_times.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable; } else { dataGridView_times.DataSource = null; label_noTimes.Visible = true; } } private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { string tabPageName = tabControl1.SelectedTab.Name; tabPageEvent(tabPageName); } private void dataGridView_times_CellClick(object sender, DataGridViewCellEventArgs e) { int rowIndex = e.RowIndex; startTime = Convert.ToDateTime(dataGridView_times.Rows[rowIndex].Cells[1].Value).ToString("yyyy-MM-dd HH:mm:ss"); endTime = Convert.ToDateTime(dataGridView_times.Rows[rowIndex].Cells[2].Value).ToString("yyyy-MM-dd HH:mm:ss"); tabPageEvent(tabControl1.SelectedTab.Name); } private void tabPageEvent(string tabPageName) { panel_result.Controls.Clear(); switch (tabPageName) { case "tab_stability": { LoadData(deviceId, "1", startTime, endTime); groupBox3.Text = "频率稳定度"; stability result = new stability(); result.Show(); panel_result.Controls.Add(result); break; } case "tab_accuracy": { LoadData(deviceId, "2", startTime, endTime); groupBox3.Text = "频率准确度"; accuracy result = new accuracy(); result.Show(); panel_result.Controls.Add(result); break; } case "tab_bootFeature": { LoadData(deviceId, "3", startTime, endTime); groupBox3.Text = "开机特性"; bootFeature result = new bootFeature(); result.Show(); panel_result.Controls.Add(result); break; } case "tab_ageRate": { LoadData(deviceId, "4", startTime, endTime); groupBox3.Text = "日老化率"; ageRate result = new ageRate(tableOriginData); result.Show(); panel_result.Controls.Add(result); break; } default: break; } } } }