InfoEditor.cs 5.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. using GWSocketClient.db;
  12. using GWSocketClient.excel;
  13. using GWSocketClient.model;
  14. namespace GWSocketClient
  15. {
  16. public partial class InfoEditor : Form
  17. {
  18. private int selectIndex = -1;
  19. public InfoEditor()
  20. {
  21. InitializeComponent();
  22. }
  23. private void InfoEditor_Load(object sender, EventArgs e)
  24. {
  25. dataGridView1.DataSource = AccsessDbLoader.getInstance().getDataTable();
  26. }
  27. private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
  28. {
  29. int col = dataGridView1.ColumnCount;
  30. int row = dataGridView1.RowCount;
  31. int x = e.RowIndex;
  32. int y = e.ColumnIndex;
  33. if (x >= 0 && y >= 0 && x < row && y < col)
  34. {
  35. WvBean wb = new WvBean();
  36. wb.id = int.Parse(dataGridView1[0, x].Value + "");
  37. wb.index = int.Parse(dataGridView1[1, x].Value + "");
  38. wb.myId = dataGridView1[2, x].Value + "";
  39. wb.idInfo = dataGridView1[3, x].Value + "";
  40. wb.len = dataGridView1[4, x].Value + "";
  41. wb.mode = dataGridView1[5, x].Value + "";
  42. wb.desp = dataGridView1[6, x].Value + "";
  43. wb.defalutValue = dataGridView1[7, x].Value + "";
  44. wb.userValue = dataGridView1[8, x].Value + "";
  45. wb.remark = dataGridView1[9, x].Value + "";
  46. IdItemEditor iie = new IdItemEditor(wb);
  47. iie.HandlerResult += Iie_HandlerResult;
  48. iie.ShowDialog();
  49. }
  50. }
  51. private void Iie_HandlerResult(string topmost)
  52. {
  53. InfoEditorTip.Text = topmost;
  54. dataGridView1.DataSource = AccsessDbLoader.getInstance().reloadAccessDb().getDataTable();
  55. }
  56. private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
  57. {
  58. if (e.Button == MouseButtons.Left)
  59. {
  60. int x = e.RowIndex;
  61. if (x >= 0 && x < dataGridView1.RowCount)
  62. {
  63. selectIndex = x;
  64. }
  65. }
  66. }
  67. //选中数据
  68. private void buttonDeleteSelect_Click(object sender, EventArgs e)
  69. {
  70. if (selectIndex >= 0)
  71. {
  72. AccsessDbLoader.getInstance().delete4Db(int.Parse(dataGridView1[0, selectIndex].Value + ""));
  73. dataGridView1.DataSource = AccsessDbLoader.getInstance().reloadAccessDb().getDataTable();
  74. }
  75. else
  76. {
  77. InfoEditorTip.Text = "请重新选择一行数据";
  78. }
  79. }
  80. //刷新数据
  81. private void buttonRefresh_Click(object sender, EventArgs e)
  82. {
  83. dataGridView1.DataSource = AccsessDbLoader.getInstance().reloadAccessDb().getDataTable();
  84. }
  85. //添加命令
  86. private void buttonAddCmd_Click(object sender, EventArgs e)
  87. {
  88. IdItemEditor iie = new IdItemEditor();
  89. iie.HandlerResult += Iie_HandlerResult;
  90. iie.ShowDialog();
  91. }
  92. private void btnResetUserdata_Click(object sender, EventArgs e)
  93. {
  94. int res = AccsessDbLoader.getInstance().resetUserData();
  95. InfoEditorTip.Text = res > 0 ? "重置数据成功" : "重置失败";
  96. dataGridView1.DataSource = AccsessDbLoader.getInstance().reloadAccessDb().getDataTable();
  97. this.DialogResult = DialogResult.None;
  98. }
  99. private void btnClosedThis_Click(object sender, EventArgs e)
  100. {
  101. this.Close();
  102. }
  103. private void btnLoadFromExcel_Click(object sender, EventArgs e)
  104. {
  105. OpenFileDialog openFileDialog = new OpenFileDialog();
  106. openFileDialog.Filter = "Excel文件|*.xls;*.xlsx|所有文件|*.*";
  107. openFileDialog.InitialDirectory = Application.StartupPath;
  108. if (openFileDialog.ShowDialog() == DialogResult.OK)
  109. {
  110. List<WvBean> wvBeans = new ExcelLoader(openFileDialog.FileName, InfoEditorTip).loadExcelFile()
  111. .getExcelList();
  112. insertList2DB(wvBeans);
  113. }
  114. this.DialogResult = DialogResult.None;
  115. }
  116. private void insertList2DB(List<WvBean> list)
  117. {
  118. Console.WriteLine(list.Count + "");
  119. for (var i = 0; i < list.Count; i++)
  120. {
  121. int res = AccsessDbLoader.getInstance().insert2Db(list[i]);
  122. if (res <= 0)
  123. {
  124. InfoEditorTip.Text += "插入失败" + list[i].ToString() + "\n";
  125. }
  126. }
  127. dataGridView1.DataSource = AccsessDbLoader.getInstance().reloadAccessDb().getDataTable();
  128. }
  129. private void btnClearAll_Click(object sender, EventArgs e)
  130. {
  131. if (DialogResult.OK == MessageBox.Show("你确定要清空所有数据?", "确定清空", MessageBoxButtons.OKCancel,
  132. MessageBoxIcon.Warning))
  133. {
  134. AccsessDbLoader.getInstance().deleteAllData();
  135. dataGridView1.DataSource = AccsessDbLoader.getInstance().reloadAccessDb().getDataTable();
  136. }
  137. this.DialogResult = DialogResult.None;
  138. }
  139. }
  140. }