예제 #1
0
        /// <summary>
        /// 开始事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
        {
            oldValue = this.dataGridView.CurrentCell.Value;
            DataRow dr = (dataGridView.Rows[e.RowIndex].DataBoundItem as DataRowView).Row;

            oldInfo = ElectrodeInfo.GetEleInfo(dr);
        }
예제 #2
0
        /// <summary>
        /// 结束事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (oldValue != this.dataGridView.CurrentCell.Value)
            {
                ElectrodeBomBuilder bom;
                if (dataGridView.CurrentCellAddress.X == 4 || dataGridView.CurrentCellAddress.X == 5 || dataGridView.CurrentCellAddress.X == 6 ||
                    dataGridView.CurrentCellAddress.X == 7)
                {
                    double x        = Convert.ToDouble(dataGridView.Rows[e.RowIndex].Cells[4].Value);
                    int    xNumber  = Convert.ToInt32(dataGridView.Rows[e.RowIndex].Cells[5].Value);
                    double y        = Convert.ToDouble(dataGridView.Rows[e.RowIndex].Cells[6].Value);
                    int    yNumber  = Convert.ToInt32(dataGridView.Rows[e.RowIndex].Cells[7].Value);
                    string material = dataGridView.Rows[e.RowIndex].Cells[16].Value.ToString();

                    Point3d setPt = ElectrodeBomBuilder.GetSetValue(x, xNumber, y, yNumber, oldInfo);
                    dataGridView.Rows[e.RowIndex].Cells[1].Value = setPt.X.ToString("f3");
                    dataGridView.Rows[e.RowIndex].Cells[2].Value = setPt.Y.ToString("f3");

                    int[] pre = ElectrodeBomBuilder.GetPreparation(x, xNumber, y, yNumber, material, oldInfo);

                    dataGridView.Rows[e.RowIndex].Cells[18].Value = pre[0].ToString();
                    dataGridView.Rows[e.RowIndex].Cells[19].Value = pre[1].ToString();
                }

                DataRow       dr      = (dataGridView.Rows[e.RowIndex].DataBoundItem as DataRowView).Row; //获取数据
                ElectrodeInfo newInfo = ElectrodeInfo.GetEleInfo(dr);
                bom = new ElectrodeBomBuilder(newInfo, this.assemble);
                if (!builders.Exists(a => a.Model[0].EleInfo.EleName == newInfo.EleName))
                {
                    this.builders.Add(bom);
                }
                else
                {
                    ElectrodeBomBuilder bu = builders.Find(a => a.Model[0].EleInfo.EleName == newInfo.EleName);
                    this.builders.Remove(bu);
                    this.builders.Add(bom);
                }
            }
        }