using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace FPER { public partial class frmPositionCode : Form { public frmPositionCode() { InitializeComponent(); } MDIParent mdi; delegate void deleFormInit(); //선택 item ListViewItem selectItem; QUERYMode cmd; private void btnWinClose_Click(object sender, EventArgs e) { try { this.Close(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } public void Form_Init() { try { } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.Source), Application.ProductName); } } private void frmPositionCode_Load(object sender, EventArgs e) { try { mdi = (MDIParent)this.MdiParent; txtThisReceiverID.Text = string.Format("{0:00}", mdi.myReceiverID); //VIEW모드로 변경한다. Util.GroupUIChange(panelPosition, UIMode.cancel); //그룹의 데이터를 초기화한다. PositionSelectData(null); Position_getData(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.Source), Application.ProductName); } } //그룹표시 //입력그룹 데이터 표시 private void PositionSelectData(ListViewItem itm) { try { selectItem = itm; if (itm == null) { txtPositionCode.Text = ""; txtPositionName.Text = ""; if (cmd == QUERYMode.insert) { txtPositionCode.ReadOnly = false; txtPositionCode.BackColor = Color.White; txtPositionName.ReadOnly = false; btnPositionOK.Enabled = true; } else { txtPositionCode.ReadOnly = true; txtPositionCode.BackColor = SystemColors.Control; btnPositionAdd.Enabled = true; btnPositionDel.Enabled = false; btnPositionOK.Enabled = false; } } else { txtPositionCode.Text = itm.Text; txtPositionCode.BackColor = SystemColors.Control; txtPositionName.Text = itm.SubItems[1].Text; txtPositionCode.ReadOnly = true; btnPositionAdd.Enabled = true; btnPositionDel.Enabled = true; btnPositionOK.Enabled = true; } } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void btnPositionAdd_Click(object sender, EventArgs e) { try { //입력모드로 변경한다. cmd = QUERYMode.insert; Util.GroupUIChange(panelPosition, UIMode.input); PositionSelectData(null); //txtPositionCode.Text = ""; txtPositionCode.Focus(); btnPositionAdd.Enabled = false; btnPositionDel.Enabled = false; btnPositionCancel.Visible = true; btnPositionOK.Enabled = true; } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void btnPositionDel_Click(object sender, EventArgs e) { try { cmd = QUERYMode.delete; String PositionCode = txtPositionCode.Text.Trim(); String PositionName = txtPositionName.Text.Trim(); String msg = string.Format("{0}[{1}]을/를 삭제하시겠습니까?", PositionName, PositionCode); if (MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.YesNo) == DialogResult.Yes) { DacPosition dacPosition = new DacPosition(mdi.myReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경 dacPosition.Position_Update(QUERYMode.delete, PositionCode, PositionName); } //VIEW모드로 변경한다. cmd = QUERYMode.select; Util.GroupUIChange(panelPosition, UIMode.cancel); //입력 CLEAR PositionSelectData(null); //데이터 불러오기 Position_getData(); } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName); } } private void btnPositionCancel_Click(object sender, EventArgs e) { try { //VIEW모드로 변경한다. cmd = QUERYMode.select; Util.GroupUIChange(panelPosition, UIMode.cancel); PositionSelectData(null); btnPositionCancel.Visible = false; } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); } } private void btnPositionOK_Click(object sender, EventArgs e) { try { if (cmd == QUERYMode.insert || cmd == QUERYMode.update) { Util.ChkTxtBox(txtPositionCode, "위치코드"); Util.ChkTxtBox(txtPositionName, "위치명"); String PositionCode = txtPositionCode.Text.Trim(); String PositionName = txtPositionName.Text.Trim(); DacPosition dacPosition = new DacPosition(mdi.myReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경 dacPosition.Position_Update(cmd, PositionCode, PositionName); } cmd = QUERYMode.select; //VIEW모드로 변경한다. Util.GroupUIChange(panelPosition, UIMode.cancel); //데이터 불러오기 Position_getData(); PositionSelectData(null); btnPositionCancel.Visible = false; } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName); } } private void ListView1_SelectedIndexChanged(object sender, EventArgs e) { try { ListView lv = (ListView)sender; if (lv.SelectedItems.Count > 0) { ListViewItem itm = lv.SelectedItems[0]; cmd = QUERYMode.update; //VIEW모드로 변경한다. Util.GroupUIChange(panelPosition, UIMode.input); PositionSelectData(itm); } else { cmd = QUERYMode.select; //VIEW모드로 변경한다. Util.GroupUIChange(panelPosition, UIMode.cancel); PositionSelectData(null); } } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName); } } /******************************************************* * LISTVIEW에 데이터 불러오기 ******************************************************/ private void Position_getData() { try { PositionSelectData(null); DacPosition dacPosition = new DacPosition(mdi.myReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경 DataTable dt = dacPosition.Position_Select(null); ListView1.Items.Clear(); if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { ListViewItem item = new ListViewItem(Convert.ToString(dr["POSITION_CODE"])); item.SubItems.Add(dr["POSITION_NAME"].ToString()); ListView1.Items.Add(item); } } } catch (Exception ex) { Util.UErrorMessage(ex, 0, 0); //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName); } } } }