예제 #1
0
 private void BindDataGridView(List <ExRecordModel> list)
 {
     if (this.dataGridView1.InvokeRequired)
     {
         FlushDataGridView client = new FlushDataGridView(BindDataGridView);
         this.Invoke(client, list);
     }
     else
     {
         this.dataGridView1.AutoGenerateColumns = false;
         this.dataGridView1.DataSource          = list;
     }
 }
예제 #2
0
        private void LoadData(FlushDataGridView flushDataGridView)
        {
            DataGridViewTextBoxColumn  dataGridViewTextBoxColumn;
            DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn;

            string[] tmpName = cMain.DataShowTitleStr.Split(',');
            DataSet  tmpDs;
            string   sqlCommand = "";

            //将机型上下限数据写入到表格2中
            if (flushDataGridView == FlushDataGridView.FlushStepData ||
                flushDataGridView == FlushDataGridView.FlushAll)
            {
                sqlCommand = string.Format("Select * from initPara where ModeId='{0}' order by StepId", cbbId.Text);
                tmpDs      = cData.readData(sqlCommand, cData.ConnMain);
                dataGridView2.Rows.Clear();
                dataGridView2.Columns.Clear();

                for (int i = 0; i < cMain.DataShow; i++)
                {
                    dataGridViewTextBoxColumn = new DataGridViewTextBoxColumn();
                    dataGridViewTextBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    dataGridViewTextBoxColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridViewTextBoxColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridViewTextBoxColumn.HeaderText = tmpName[i];
                    dataGridViewTextBoxColumn.ValueType  = typeof(double);
                    dataGridView2.Columns.Add(dataGridViewTextBoxColumn);
                }
                dataGridView2.RowHeadersWidth = 150;
                if (tmpDs.Tables[0].Rows.Count > 0)
                {
                    for (int i = 0; i < tmpDs.Tables[0].Rows.Count; i++)
                    {
                        dataGridView2.Rows.Add();
                        dataGridView2.Rows[i * 2].HeaderCell.Value           = string.Format("第{0}步数据下限", i + 1);
                        dataGridView2.Rows[i * 2].DefaultCellStyle.BackColor = Color.Pink;

                        dataGridView2.Rows.Add();
                        dataGridView2.Rows[i * 2 + 1].HeaderCell.Value           = string.Format("第{0}步数据上限", i + 1);
                        dataGridView2.Rows[i * 2 + 1].DefaultCellStyle.BackColor = Color.LightCyan;

                        for (int j = 0; j < cMain.DataShow; j++)
                        {
                            DataRow dr = tmpDs.Tables[0].Rows[i];
                            dataGridView2.Rows[i * 2].Cells[j].Value     = dr[string.Format("Data{0}", j * 2 + 1)];
                            dataGridView2.Rows[i * 2 + 1].Cells[j].Value = dr[string.Format("Data{0}", j * 2 + 2)];
                        }
                    }
                }
                else
                {
                    MessageBox.Show(string.Format("当前没有{0}机型参数设置,请先设置{0}机型参数后,再计算上下限", cbbId.Text), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

            //取最后20条数据
            if (flushDataGridView == FlushDataGridView.FlushSaveData ||
                flushDataGridView == FlushDataGridView.FlushAll)
            {
                sqlCommand = string.Format("Select top 20 * from alldata where Id='{0}' and StepID={1} order by TestTime DESC", cbbId.Text, Num.IntParse(cbbStepId.Text) - 1);
                tmpDs      = cData.readData(sqlCommand, cData.ConnData);
                dataGridView1.Rows.Clear();
                dataGridView1.Columns.Clear();
                if (tmpDs.Tables[0].Rows.Count > 0)
                {
                    txtStepName.Text = tmpDs.Tables[0].Rows[0]["Step"].ToString();
                    txtMode.Text     = tmpDs.Tables[0].Rows[0]["Mode"].ToString();
                    dataGridView1.RowHeadersWidth = 100;

                    dataGridViewCheckBoxColumn = new DataGridViewCheckBoxColumn();
                    dataGridViewCheckBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    dataGridViewCheckBoxColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridViewCheckBoxColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                    dataGridViewCheckBoxColumn.HeaderText = "是否选用当前行";

                    dataGridViewCheckBoxColumn.ValueType = typeof(bool);
                    dataGridView1.Columns.Add(dataGridViewCheckBoxColumn);

                    for (int i = 0; i < cMain.DataShow; i++)
                    {
                        dataGridViewTextBoxColumn = new DataGridViewTextBoxColumn();
                        dataGridViewTextBoxColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                        dataGridViewTextBoxColumn.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
                        dataGridViewTextBoxColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                        dataGridViewTextBoxColumn.HeaderText = tmpName[i];
                        dataGridViewTextBoxColumn.DefaultCellStyle.Format = "0.000";
                        //dataGridViewTextBoxColumn.ReadOnly = true;
                        dataGridViewTextBoxColumn.ValueType = typeof(double);
                        dataGridView1.Columns.Add(dataGridViewTextBoxColumn);
                    }
                    dataGridView1.Rows.Add(2);
                    dataGridView1.Rows[0].HeaderCell.Value           = "下限";
                    dataGridView1.Rows[1].HeaderCell.Value           = "上限";
                    dataGridView1.Rows[0].Cells[0].ReadOnly          = true;
                    dataGridView1.Rows[1].Cells[0].ReadOnly          = true;
                    dataGridView1.Rows[1].DefaultCellStyle.BackColor = Color.LightCyan;
                    for (int i = 0; i < tmpDs.Tables[0].Rows.Count; i++)
                    {
                        dataGridView1.Rows.Add();
                        dataGridView1.Rows[i + 2].HeaderCell.Value = string.Format("{0}", i + 1);
                        for (int j = 0; j < cMain.DataShow; j++)
                        {
                            dataGridView1.Rows[i + 2].Cells[1 + j].Value = tmpDs.Tables[0].Rows[i][string.Format("d{0}", j)];
                        }
                        if ((i % 2) == 1)
                        {
                            dataGridView1.Rows[i + 2].DefaultCellStyle.BackColor = Color.LightCyan;
                        }
                    }
                }
            }
            timer1.Enabled = true;
        }