frmPositionCode.cs 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. namespace FPER
  9. {
  10. public partial class frmPositionCode : Form
  11. {
  12. public frmPositionCode()
  13. {
  14. InitializeComponent();
  15. }
  16. MDIParent mdi;
  17. delegate void deleFormInit();
  18. //선택 item
  19. ListViewItem selectItem;
  20. QUERYMode cmd;
  21. private void btnWinClose_Click(object sender, EventArgs e)
  22. {
  23. try
  24. {
  25. this.Close();
  26. }
  27. catch (Exception ex)
  28. {
  29. Util.UErrorMessage(ex, 0, 0);
  30. }
  31. }
  32. public void Form_Init()
  33. {
  34. try
  35. {
  36. }
  37. catch (Exception ex)
  38. {
  39. Util.UErrorMessage(ex, 0, 0);
  40. //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.Source), Application.ProductName);
  41. }
  42. }
  43. private void frmPositionCode_Load(object sender, EventArgs e)
  44. {
  45. try
  46. {
  47. mdi = (MDIParent)this.MdiParent;
  48. txtThisReceiverID.Text = string.Format("{0:00}", mdi.myReceiverID);
  49. //VIEW모드로 변경한다.
  50. Util.GroupUIChange(panelPosition, UIMode.cancel);
  51. //그룹의 데이터를 초기화한다.
  52. PositionSelectData(null);
  53. Position_getData();
  54. }
  55. catch (Exception ex)
  56. {
  57. Util.UErrorMessage(ex, 0, 0);
  58. //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.Source), Application.ProductName);
  59. }
  60. }
  61. //그룹표시
  62. //입력그룹 데이터 표시
  63. private void PositionSelectData(ListViewItem itm)
  64. {
  65. try
  66. {
  67. selectItem = itm;
  68. if (itm == null)
  69. {
  70. txtPositionCode.Text = "";
  71. txtPositionName.Text = "";
  72. if (cmd == QUERYMode.insert)
  73. {
  74. txtPositionCode.ReadOnly = false;
  75. txtPositionCode.BackColor = Color.White;
  76. txtPositionName.ReadOnly = false;
  77. btnPositionOK.Enabled = true;
  78. }
  79. else
  80. {
  81. txtPositionCode.ReadOnly = true;
  82. txtPositionCode.BackColor = SystemColors.Control;
  83. btnPositionAdd.Enabled = true;
  84. btnPositionDel.Enabled = false;
  85. btnPositionOK.Enabled = false;
  86. }
  87. }
  88. else
  89. {
  90. txtPositionCode.Text = itm.Text;
  91. txtPositionCode.BackColor = SystemColors.Control;
  92. txtPositionName.Text = itm.SubItems[1].Text;
  93. txtPositionCode.ReadOnly = true;
  94. btnPositionAdd.Enabled = true;
  95. btnPositionDel.Enabled = true;
  96. btnPositionOK.Enabled = true;
  97. }
  98. }
  99. catch (Exception ex)
  100. {
  101. Util.UErrorMessage(ex, 0, 0);
  102. }
  103. }
  104. private void btnPositionAdd_Click(object sender, EventArgs e)
  105. {
  106. try
  107. {
  108. //입력모드로 변경한다.
  109. cmd = QUERYMode.insert;
  110. Util.GroupUIChange(panelPosition, UIMode.input);
  111. PositionSelectData(null);
  112. //txtPositionCode.Text = "";
  113. txtPositionCode.Focus();
  114. btnPositionAdd.Enabled = false;
  115. btnPositionDel.Enabled = false;
  116. btnPositionCancel.Visible = true;
  117. btnPositionOK.Enabled = true;
  118. }
  119. catch (Exception ex)
  120. {
  121. Util.UErrorMessage(ex, 0, 0);
  122. }
  123. }
  124. private void btnPositionDel_Click(object sender, EventArgs e)
  125. {
  126. try
  127. {
  128. cmd = QUERYMode.delete;
  129. String PositionCode = txtPositionCode.Text.Trim();
  130. String PositionName = txtPositionName.Text.Trim();
  131. String msg = string.Format("{0}[{1}]을/를 삭제하시겠습니까?", PositionName, PositionCode);
  132. if (MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.YesNo) == DialogResult.Yes)
  133. {
  134. DacPosition dacPosition = new DacPosition(mdi.myReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
  135. dacPosition.Position_Update(QUERYMode.delete, PositionCode, PositionName);
  136. }
  137. //VIEW모드로 변경한다.
  138. cmd = QUERYMode.select;
  139. Util.GroupUIChange(panelPosition, UIMode.cancel);
  140. //입력 CLEAR
  141. PositionSelectData(null);
  142. //데이터 불러오기
  143. Position_getData();
  144. }
  145. catch (Exception ex)
  146. {
  147. Util.UErrorMessage(ex, 0, 0);
  148. //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName);
  149. }
  150. }
  151. private void btnPositionCancel_Click(object sender, EventArgs e)
  152. {
  153. try
  154. {
  155. //VIEW모드로 변경한다.
  156. cmd = QUERYMode.select;
  157. Util.GroupUIChange(panelPosition, UIMode.cancel);
  158. PositionSelectData(null);
  159. btnPositionCancel.Visible = false;
  160. }
  161. catch (Exception ex)
  162. {
  163. Util.UErrorMessage(ex, 0, 0);
  164. }
  165. }
  166. private void btnPositionOK_Click(object sender, EventArgs e)
  167. {
  168. try
  169. {
  170. if (cmd == QUERYMode.insert || cmd == QUERYMode.update)
  171. {
  172. Util.ChkTxtBox(txtPositionCode, "위치코드");
  173. Util.ChkTxtBox(txtPositionName, "위치명");
  174. String PositionCode = txtPositionCode.Text.Trim();
  175. String PositionName = txtPositionName.Text.Trim();
  176. DacPosition dacPosition = new DacPosition(mdi.myReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
  177. dacPosition.Position_Update(cmd, PositionCode, PositionName);
  178. }
  179. cmd = QUERYMode.select;
  180. //VIEW모드로 변경한다.
  181. Util.GroupUIChange(panelPosition, UIMode.cancel);
  182. //데이터 불러오기
  183. Position_getData();
  184. PositionSelectData(null);
  185. btnPositionCancel.Visible = false;
  186. }
  187. catch (Exception ex)
  188. {
  189. Util.UErrorMessage(ex, 0, 0);
  190. //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName);
  191. }
  192. }
  193. private void ListView1_SelectedIndexChanged(object sender, EventArgs e)
  194. {
  195. try
  196. {
  197. ListView lv = (ListView)sender;
  198. if (lv.SelectedItems.Count > 0)
  199. {
  200. ListViewItem itm = lv.SelectedItems[0];
  201. cmd = QUERYMode.update;
  202. //VIEW모드로 변경한다.
  203. Util.GroupUIChange(panelPosition, UIMode.input);
  204. PositionSelectData(itm);
  205. }
  206. else
  207. {
  208. cmd = QUERYMode.select;
  209. //VIEW모드로 변경한다.
  210. Util.GroupUIChange(panelPosition, UIMode.cancel);
  211. PositionSelectData(null);
  212. }
  213. }
  214. catch (Exception ex)
  215. {
  216. Util.UErrorMessage(ex, 0, 0);
  217. //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName);
  218. }
  219. }
  220. /*******************************************************
  221. * LISTVIEW에 데이터 불러오기
  222. ******************************************************/
  223. private void Position_getData()
  224. {
  225. try
  226. {
  227. PositionSelectData(null);
  228. DacPosition dacPosition = new DacPosition(mdi.myReceiverID);// cyim 2015.7.30 데이타베이스 접속 루틴 변경
  229. DataTable dt = dacPosition.Position_Select(null);
  230. ListView1.Items.Clear();
  231. if (dt.Rows.Count > 0)
  232. {
  233. foreach (DataRow dr in dt.Rows)
  234. {
  235. ListViewItem item = new ListViewItem(Convert.ToString(dr["POSITION_CODE"]));
  236. item.SubItems.Add(dr["POSITION_NAME"].ToString());
  237. ListView1.Items.Add(item);
  238. }
  239. }
  240. }
  241. catch (Exception ex)
  242. {
  243. Util.UErrorMessage(ex, 0, 0);
  244. //MessageBox.Show(string.Format("[{0}]\r\n{1}", ex.Message, ex.StackTrace), Application.ProductName);
  245. }
  246. }
  247. }
  248. }