Exemplo n.º 1
0
        public CodeHelperForm(부문구분Control 부문구분Control)
        {
            InitializeComponent();
            this.부문구분Control = 부문구분Control;

            this.ClientSize = new System.Drawing.Size(부문구분Control.Width + 30, 부문구분Control.Height);

            this.panel.Controls.Add(부문구분Control);
            부문구분Control.Dock = DockStyle.Fill;
            this.Size        = new Size(450, 400);
            this.Resizable   = false;
            ActiveControl    = 부문구분Control.dgv부문;
            부문구분Control.RecieveLoginForm(this);
            this.SetFormLocation();
        }
Exemplo n.º 2
0
        private void Dgv부서_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.F2)
            {
                if (dgv부서.CurrentCell.ColumnIndex == 2 || dgv부서.CurrentCell.ColumnIndex == 3)
                {
                    e.SuppressKeyPress = true;

                    사업장구분Control = new 사업장구분Control();
                    CodeHelperForm form = new CodeHelperForm(사업장구분Control);
                    form.ShowDialog();

                    dgv부서.CurrentRow.Cells[2].Value = 사업장단위.WorkPlaceCode;
                    dgv부서.CurrentRow.Cells[3].Value = 사업장단위.WorkPlaceName;

                    dgv부서.CurrentCell = dgv부서.CurrentRow.Cells[4];
                }

                if (dgv부서.CurrentCell.ColumnIndex == 4 || dgv부서.CurrentCell.ColumnIndex == 5)
                {
                    e.SuppressKeyPress = true;

                    부문구분Control = new 부문구분Control();
                    CodeHelperForm form = new CodeHelperForm(부문구분Control);
                    form.ShowDialog();

                    dgv부서.CurrentRow.Cells[4].Value = 부문단위.SectorCode;
                    dgv부서.CurrentRow.Cells[5].Value = 부문단위.SectorName;

                    dgv부서.CurrentCell = dgv부서.CurrentRow.Cells[6];
                }
            }

            if (e.KeyData == Keys.Enter)
            {
                e.SuppressKeyPress = true;

                if (dgv부서.CurrentCell.ColumnIndex == (dgv부서.Columns.Count - 1))
                {
                    // 마지막행의 여섯번째 열까지 입력이 끝나면 다음 행을 추가하고 다음 행의 첫번째 열로 이동
                    if ((dgv부서.Rows.Count - 1 == dgv부서.CurrentCell.RowIndex) &&
                        (dgv부서.Rows[dgv부서.CurrentRow.Index]
                         .Cells[dgv부서.Columns.Count - 2].Value != null))
                    {
                        //dgv부서.Rows.Add();
                        dgv부서.CurrentCell = dgv부서[0, dgv부서.CurrentRow.Index + 1];
                    }
                    // 현재 행의 여섯번째 열에 데이터가 있으면 다음 행의 첫번째 열로 이동
                    else if (dgv부서.Rows[dgv부서.CurrentRow.Index].Cells[dgv부서.Columns.Count - 2].Value != null)
                    {
                        dgv부서.CurrentCell = dgv부서[0, dgv부서.CurrentRow.Index + 1];
                    }
                }
                // 엔터키 입력시 다음 셀로 이동
                else
                {
                    dgv부서.CurrentCell = dgv부서[dgv부서.CurrentCell.ColumnIndex + 1, dgv부서.CurrentRow.Index];
                }
            }

            if (e.KeyData == Keys.Delete)
            {
                e.SuppressKeyPress = true;

                if (DialogResult.Yes == MessageBox.Show("선택한 부서를 삭제하시겠습니까?", "삭제", MessageBoxButtons.YesNo))
                {
                    DB.부서.Delete(FillInDepartment(dgv부서.CurrentCell.RowIndex));
                }

                dgv부서.DataSource = DB.부서.GetAll();
            }
        }