Newer
Older
RbFreqStand / RbFreqStandMeasure / info / DetailDlg.cs
yangqianqian on 7 Apr 2021 5 KB homepage
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();

        public Action HideMaskAction
        {
            get;
            set;
        }

        public DetailDlg(long deviceId)
        {
            InitializeComponent();

            InitDataGridView_times();
            LoadTimes(deviceId);
        }

        // 关闭对话框
        private void btnClose_Click(object sender, EventArgs e)
        {
            this.HideMaskAction();
        }


        // 数据列表
        private void InitDataGridView_Data()
        {
            dataGridView_Data.Columns.Clear();
            dataGridView_Data.Rows.Clear();
            
        }

        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;
            }
            else
            {
                label_noData.Visible = true;
            }

            dataGridView_Data.DataSource = tableOriginData;

            // width=964px
            dataGridView_Data.Columns[0].Width = 80;
            dataGridView_Data.Columns[1].Width = 164;
            dataGridView_Data.Columns[2].Width = 120;


            dataGridView_Data.Columns[0].ReadOnly = true;
            dataGridView_Data.Columns[1].ReadOnly = true;
            dataGridView_Data.Columns[2].ReadOnly = true;
            
        }

        // 检测记录列表
        private void InitDataGridView_times()
        {
            dataGridView_times.Columns.Clear();
            dataGridView_times.Rows.Clear();

        }

        private void LoadTimes(long deviceId)
        {
            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.serach(deviceId);
            if (null != queryList && queryList.Count > 0)
            {

                int index = 1;
                foreach (DetectionItem detection in queryList)
                {
                    tableTimes.Rows.Add(index, detection.StartTime, detection.EndTime);
                    index++;
                }

                label_noTimes.Visible = false;
            }
            else
            {
                label_noTimes.Visible = true;
            }

            dataGridView_times.DataSource = tableTimes;

            // width=964px
            dataGridView_Data.Columns[0].Width = 80;
            dataGridView_Data.Columns[1].Width = 164;
            dataGridView_Data.Columns[2].Width = 120;


            dataGridView_Data.Columns[0].ReadOnly = true;
            dataGridView_Data.Columns[1].ReadOnly = true;
            dataGridView_Data.Columns[2].ReadOnly = true;

        }
    }
}