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(); }
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(); } }