Newer
Older
RbFreqStand / RbFreqStandMeasure / info / InfoCtrlForm.cs
TAN YUE on 20 Mar 2021 7 KB 20210320 送检仪器列表美化
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Casic.Birmm.RbFreqStandMeasure.info
{
    public partial class InfoCtrlForm : UserControl
    {
        private DataTable devList = null;

        #region 样式常量定影
        private readonly Color titleBackColor = Color.FromArgb(232, 234, 238); // #e8eaee
        private readonly Color tableForeColor = Color.FromArgb(51, 51, 51); // #333333
        private readonly Font titleFont = new Font("微软雅黑", 14F, FontStyle.Regular, GraphicsUnit.Pixel, 134);
        #endregion

        public InfoCtrlForm()
        {
            InitializeComponent();

            // 初始化表格并加载数据
            InitTableDevList();
            LoadDevList();
        }

        private void InitTableDevList()
        {
            tableDevList.Columns.Clear();
            tableDevList.Rows.Clear();

            // 添加标题栏
            Panel tableHeader = new Panel
            {
                BackColor = tableForeColor,
                Size = new Size(964, 40),
                Location = new Point(0, 0)
            };
            tableHeader.BackColor = titleBackColor;
            tableDevList.Controls.Add(tableHeader);

            // 序号
            Label colNo = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "序号",
                Location = new Point(0, 0),
                Size = new Size(80, 40)
            };
            tableDevList.Controls.Add(colNo);
            colNo.BringToFront();

            // 登记时间
            Label colRegTime = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "登记时间",
                Location = new Point(80, 0),
                Size = new Size(164, 40)
            };
            tableDevList.Controls.Add(colRegTime);
            colRegTime.BringToFront();

            // 仪器名称
            Label colDevName = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "仪器名称",
                Location = new Point(244, 0),
                Size = new Size(120, 40)
            };
            tableDevList.Controls.Add(colDevName);
            colDevName.BringToFront();

            // 仪器型号
            Label colDevType = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "仪器类型",
                Location = new Point(354, 0),
                Size = new Size(120, 40)
            };
            tableDevList.Controls.Add(colDevType);
            colDevType.BringToFront();

            // 仪器编号
            Label colDevNo = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "仪器编号",
                Location = new Point(484, 0),
                Size = new Size(120, 40)
            };
            tableDevList.Controls.Add(colDevNo);
            colDevNo.BringToFront();

            // 客户名称
            Label colCustomName = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "客户名称",
                Location = new Point(604, 0),
                Size = new Size(120, 40)
            };
            tableDevList.Controls.Add(colCustomName);
            colCustomName.BringToFront();

            // 设备状态
            Label colDevStatus = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "设备状态",
                Location = new Point(724, 0),
                Size = new Size(120, 40)
            };
            tableDevList.Controls.Add(colDevStatus);
            colDevStatus.BringToFront();

            // 通道号
            Label colChannelNo = new Label
            {
                Font = titleFont,
                ForeColor = tableForeColor,
                TextAlign = ContentAlignment.MiddleCenter,
                BackColor = titleBackColor,
                AutoSize = false,
                Text = "通道号",
                Location = new Point(844, 0),
                Size = new Size(120, 40)
            };
            tableDevList.Controls.Add(colChannelNo);
            colChannelNo.BringToFront();
        }

        private void LoadDevList()
        {
            devList = new DataTable();

            devList.Columns.Add("index", Type.GetType("System.String"));
            devList.Columns.Add("regTime", Type.GetType("System.DateTime"));
            devList.Columns.Add("devName", Type.GetType("System.String"));
            devList.Columns.Add("devType", Type.GetType("System.String"));
            devList.Columns.Add("devNo", Type.GetType("System.String"));
            devList.Columns.Add("customName", Type.GetType("System.String"));
            devList.Columns.Add("status", Type.GetType("System.String"));
            devList.Columns.Add("channelNo", Type.GetType("System.String"));

            devList.Rows.Add("1", DateTime.Now, "SF2001-1", "通用计数器", "00001", "李涛", "检测中", "1");
            devList.Rows.Add("2", DateTime.Now, "SF2001-2", "通用计数器", "00002", "李涛", "检完", "");
            devList.Rows.Add("3", DateTime.Now, "SF2001-3", "通用计数器", "00003", "李涛", "检完", "");
            devList.Rows.Add("4", DateTime.Now, "SF2001-4", "通用计数器", "00004", "李涛", "待检", "");

            tableDevList.DataSource = devList;

            // width=964px
            tableDevList.Columns[0].Width = 80;
            tableDevList.Columns[1].Width = 164;
            tableDevList.Columns[2].Width = 120;
            tableDevList.Columns[3].Width = 120;
            tableDevList.Columns[4].Width = 120;
            tableDevList.Columns[5].Width = 120;
            tableDevList.Columns[6].Width = 120;
            tableDevList.Columns[7].Width = 120;

            tableDevList.Columns[0].ReadOnly = true;
            tableDevList.Columns[1].ReadOnly = true;
            tableDevList.Columns[2].ReadOnly = true;
            tableDevList.Columns[3].ReadOnly = true;
            tableDevList.Columns[4].ReadOnly = true;
            tableDevList.Columns[5].ReadOnly = true;
            tableDevList.Columns[6].ReadOnly = true;
            tableDevList.Columns[7].ReadOnly = true;
        }
    }
}