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 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.counter { public partial class CounterCtrlForm : UserControl { DataTable table_counterDetecInit = null; DeviceService deviceService = new DeviceServiceImpl(); DictService dictService = new DictServiceImpl(); CounterDetecInitService counterDetecInitService = new CounterDetecInitServiceImpl(); Label colStdValue = new Label(); Label colValue = new Label(); #region 样式常量定影 private readonly Color titleBackColor = Color.FromArgb(63, 132, 215); // #3F64D7 private readonly Font titleFont = new Font("微软雅黑", 14F, FontStyle.Regular, GraphicsUnit.Pixel, 134); #endregion public CounterCtrlForm() { InitializeComponent(); List<DeviceDto> list = deviceService.getAllCounter(); comboBox_counters.DataSource = list; comboBox_counters.DisplayMember = "DevCode"; comboBox_counters.ValueMember = "Id"; InitTableCounter(); LoadCounterDetecInitList(); CounterParam counterParam = dictService.getCounterParam(); text_counterIp.Text = counterParam.GeneratorIp; } private void InitTableCounter() { dataGridView_CounterResult.DataSource = null; // 添加标题栏 Panel tableHeader = new Panel { BackColor = Color.White, Size = new Size(714, 50), Location = new Point(0, 0) }; tableHeader.BackColor = titleBackColor; dataGridView_CounterResult.Controls.Add(tableHeader); // 序号 Label colIndex = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "序号", Location = new Point(0, 0), Size = new Size(50, 50) }; dataGridView_CounterResult.Controls.Add(colIndex); colIndex.BringToFront(); // 仪器型号 Label colDevType = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "仪器型号", Location = new Point(46, 0), Size = new Size(100, 50) }; dataGridView_CounterResult.Controls.Add(colDevType); colDevType.BringToFront(); // 仪器编号 Label colDevNo = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "仪器编号", Location = new Point(145, 0), Size = new Size(100, 50) }; dataGridView_CounterResult.Controls.Add(colDevNo); colDevNo.BringToFront(); // 描述/端口 Label colDevPort = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "描述/端口", Location = new Point(240, 0), Size = new Size(100, 50) }; dataGridView_CounterResult.Controls.Add(colDevPort); colDevPort.BringToFront(); // 标称值 colStdValue = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "输出频率", Location = new Point(328, 0), Size = new Size(100, 50) }; dataGridView_CounterResult.Controls.Add(colStdValue); colStdValue.BringToFront(); // 指标值 colValue = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "测量频率", Location = new Point(413, 0), Size = new Size(100, 50) }; dataGridView_CounterResult.Controls.Add(colValue); colValue.BringToFront(); // 创建日期 Label colSensitivity = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "灵敏度", Location = new Point(512, 0), Size = new Size(75, 50) }; dataGridView_CounterResult.Controls.Add(colSensitivity); colSensitivity.BringToFront(); Label colTime = new Label { Font = titleFont, ForeColor = Color.White, TextAlign = ContentAlignment.MiddleCenter, BackColor = titleBackColor, AutoSize = false, Text = "测量时间", Location = new Point(588, 0), Size = new Size(100, 50) }; dataGridView_CounterResult.Controls.Add(colTime); colTime.BringToFront(); dataGridView_CounterResult.Columns.Add("index", ""); dataGridView_CounterResult.Columns.Add("devType", ""); dataGridView_CounterResult.Columns.Add("devNo", ""); dataGridView_CounterResult.Columns.Add("devPort", ""); dataGridView_CounterResult.Columns.Add("stdValue", ""); dataGridView_CounterResult.Columns.Add("value", ""); dataGridView_CounterResult.Columns.Add("sensitivity", ""); dataGridView_CounterResult.Columns.Add("logTime", ""); dataGridView_CounterResult.Columns.Add("id", ""); } private void LoadCounterDetecInitList() { table_counterDetecInit = new DataTable(); table_counterDetecInit.Columns.Add("index", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("devType", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("devNo", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("devPort", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("stdValue", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("value", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("sensitivity", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("logTime", Type.GetType("System.String")); table_counterDetecInit.Columns.Add("id", Type.GetType("System.Int32")); if (text_counterCode.Text != "") { string devType = ""; string devCode = ""; string devPort = "输入A"; List<DeviceDto> list =deviceService.search("", text_counterCode.Text,"","","",""); if (null != list && list.Count > 0) { devType = list[0].DevTypeName; devCode = list[0].DevCode; } // 获取数据 List<CounterDetecInit> queryList = counterDetecInitService.getAll(); if (null != queryList && queryList.Count > 0) { int index = 1; foreach (CounterDetecInit counterDetecInit in queryList) { if (textBox_detecModel.Text.Equals("周期测量")) { table_counterDetecInit.Rows.Add(index, devType, devCode, devPort,counterDetecInit.Cycle,"","","", counterDetecInit.Id); } else { table_counterDetecInit.Rows.Add(index, devType, devCode, devPort,counterDetecInit.Frequency,"","","", counterDetecInit.Id); } dataGridView_CounterResult.Rows.Add(table_counterDetecInit.Rows[index - 1]); } //dataGridView_CounterResult.DataSource = table_counterDetecInit; dataGridView_CounterResult.Columns[8].Visible = false; // width=714px dataGridView_CounterResult.Columns[0].Width = 50; dataGridView_CounterResult.Columns[1].Width = 95; dataGridView_CounterResult.Columns[2].Width = 95; dataGridView_CounterResult.Columns[3].Width = 95; dataGridView_CounterResult.Columns[4].Width = 85; dataGridView_CounterResult.Columns[5].Width = 85; dataGridView_CounterResult.Columns[6].Width = 85; dataGridView_CounterResult.Columns[7].Width = 104; dataGridView_CounterResult.Columns[0].ReadOnly = true; dataGridView_CounterResult.Columns[1].ReadOnly = true; dataGridView_CounterResult.Columns[2].ReadOnly = true; dataGridView_CounterResult.Columns[3].ReadOnly = true; dataGridView_CounterResult.Columns[4].ReadOnly = true; dataGridView_CounterResult.Columns[5].ReadOnly = true; dataGridView_CounterResult.Columns[6].ReadOnly = true; dataGridView_CounterResult.Columns[7].ReadOnly = true; } else { //tableToBeTested.Visible = false; //labelNodata.Visible = true; } } } private void btn_downCounterList_Click(object sender, EventArgs e) { comboBox_counters.DroppedDown = true; } private void comboBox_counters_SelectedIndexChanged(object sender, EventArgs e) { text_counterCode.Text = ((DeviceDto)comboBox_counters.SelectedItem).DevCode; LoadCounterDetecInitList(); } private void btn_dropDetecModel_Click(object sender, EventArgs e) { comboBox_detecModel.DroppedDown = true; } private void comboBox_detecModel_SelectedIndexChanged(object sender, EventArgs e) { textBox_detecModel.Text = comboBox_detecModel.SelectedItem.ToString(); if (textBox_detecModel.Text.Equals("频率测量")) { colStdValue.Text = "输出频率"; colValue.Text = "测量频率"; } else if (textBox_detecModel.Text.Equals("周期测量")) { colStdValue.Text = "输出周期"; colValue.Text = "测量周期"; } } private void dataGridView_CounterResult_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 4 || e.ColumnIndex == 5 || e.ColumnIndex == 6 || e.ColumnIndex == 7) { dataGridView_CounterResult.Rows[e.RowIndex].Cells[e.ColumnIndex].ReadOnly = false;//将当前单元格设为可读 dataGridView_CounterResult.CurrentCell = dataGridView_CounterResult.Rows[e.RowIndex].Cells[e.ColumnIndex];//获取当前单元格 dataGridView_CounterResult.BeginEdit(true);//将单元格设为编辑状态 } } private void dataGridView_CounterResult_CellValuePushed(object sender, DataGridViewCellValueEventArgs e) { int id = Convert.ToInt32(dataGridView_CounterResult.Rows[e.RowIndex].Cells[8].Value); string value = dataGridView_CounterResult.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); if (e.ColumnIndex == 4) { if (textBox_detecModel.Text.Equals("周期测量")) counterDetecInitService.update(id,"",value); else counterDetecInitService.update(id, value, ""); } } private void benDelete_Click(object sender, EventArgs e) { if (MessageBox.Show("确认删除选中记录?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //deviceService.delete(Convert.ToInt32(dataGridView_DevList.Rows[dataGridView_DevList.CurrentRow.Index].Cells[8].Value)); MessageBox.Show("删除成功", "提示"); //LoadCounterDetecInitList(); } } private void btn_add_Click(object sender, EventArgs e) { int index = dataGridView_CounterResult.Rows.Add(); dataGridView_CounterResult.Rows[index].Cells[0].Value = "1"; dataGridView_CounterResult.Rows[index].Cells[1].Value = "2"; dataGridView_CounterResult.Rows[index].Cells[2].Value = "监听"; } private void roundButton1_Click(object sender, EventArgs e) { } } }