StatusColor.cs 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. using Cksoft.Unity;
  2. using DllEapEntity;
  3. using DllPubInfo;
  4. using Newtonsoft.Json;
  5. using System;
  6. using System.Collections;
  7. using System.Collections.Generic;
  8. using System.ComponentModel;
  9. using System.Data;
  10. using System.Drawing;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Threading.Tasks;
  14. using System.Windows.Forms;
  15. namespace DllXqManager
  16. {
  17. public partial class StatusColor : Form
  18. {
  19. List<StandardStatus> CurrDs = null;
  20. public delegate void SelStandardStatus(StandardStatus entity);
  21. public event SelStandardStatus eventSelStandardStatus = null;
  22. public StatusColor()
  23. {
  24. InitializeComponent();
  25. FilleditShowColor();
  26. }
  27. private void Filldgvmain(string condition)
  28. {
  29. try
  30. {
  31. Cursor = Cursors.WaitCursor;
  32. string errorinfo = "";
  33. CurrDs = PubInfo.SelectForCondition<StandardStatus>(condition, ref errorinfo).ToList();
  34. if (CurrDs == null)
  35. {
  36. MessageBox.Show(errorinfo);
  37. return;
  38. }
  39. Binddgvmain();
  40. RefreshColor();
  41. }
  42. catch (Exception ex)
  43. {
  44. MessageBox.Show("操作发生错误,错误信息为:" + ex.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  45. }
  46. finally
  47. {
  48. Cursor = Cursors.Default;
  49. }
  50. }
  51. private BindingSource currbs = null;
  52. public void Binddgvmain()
  53. {
  54. currbs = new BindingSource();
  55. currbs.DataSource = CurrDs;
  56. bindingNavigator1.BindingSource = currbs;
  57. dgvmain.DataSource = currbs;
  58. PubInfo.InitDataGridView<StandardStatus>(dgvmain);
  59. //dgvmain.Columns[nameof(BaseEntity.IsSelected)].Visible = false;
  60. //dgvColDetail.Rows[0].Visible = false;
  61. }
  62. private void StatusColor_Load(object sender, EventArgs e)
  63. {
  64. Filldgvmain("");
  65. }
  66. private void ShowEntity(StandardStatus entity)
  67. {
  68. StandardStatus currentity = editFCode.Tag as StandardStatus;
  69. //if(editFCode.Tag==null)
  70. if (currentity != null && currentity.ID == entity.ID)
  71. return;
  72. editFCode.Tag = entity;
  73. string errorinfo = "";
  74. int result = PubInfo.InitFormControl<StandardStatus>(panel1, entity, null, ref errorinfo);
  75. if (result < 0)
  76. MessageBox.Show(errorinfo);
  77. }
  78. private void FilleditShowColor()
  79. {
  80. editShowColor.Items.Clear();
  81. //foreach(Color item in System.Drawing.Color)
  82. //{
  83. //}
  84. foreach (var item in typeof(System.Drawing.Color).GetMembers())
  85. {
  86. if (item.MemberType == System.Reflection.MemberTypes.Property)
  87. {
  88. //MessageBox.Show(System.Drawing.Color.FromName(item.Name).Name);
  89. editShowColor.Items.Add(System.Drawing.Color.FromName(item.Name).Name);
  90. }
  91. }
  92. }
  93. private void dgvmain_CurrentCellChanged(object sender, EventArgs e)
  94. {
  95. DataGridView dgv = sender as DataGridView;
  96. if (dgv.CurrentCell == null)
  97. return;
  98. StandardStatus entity = dgv.CurrentRow.DataBoundItem as StandardStatus;
  99. ShowEntity(entity);
  100. }
  101. private void editShowColor_SelectedIndexChanged(object sender, EventArgs e)
  102. {
  103. label3.BackColor = System.Drawing.Color.FromName(editShowColor.Text.Trim());
  104. //label3.Text = System.Drawing.Color.FromName(item.Name).Name;
  105. }
  106. private void RefreshColor()
  107. {
  108. //foreach(var item in CurrDs)
  109. //{
  110. // if (string.IsNullOrEmpty(item.ShowColor))
  111. // continue;
  112. //}
  113. for(int i=0;i<dgvmain.Rows.Count;i++)
  114. {
  115. string color = (string)dgvmain.Rows[i].Cells[nameof(StandardStatus.ShowColor)].Value;
  116. if (string.IsNullOrEmpty(color))
  117. continue;
  118. dgvmain.Rows[i].Cells[nameof(StandardStatus.ShowColor)].Style.BackColor= System.Drawing.Color.FromName(color);
  119. }
  120. }
  121. private void button2_Click(object sender, EventArgs e)
  122. {
  123. StandardStatus currentity = editFCode.Tag as StandardStatus;
  124. if (currentity == null)
  125. return;
  126. currentity.ShowColor = editShowColor.Text.Trim();
  127. currentity.ModifyEntity();
  128. dgvmain.Refresh();
  129. RefreshColor();
  130. }
  131. private int CallUStandardStatus()
  132. {
  133. try
  134. {
  135. //string errorinfo = "";
  136. //int result = PubInfo.UpdateRowFormControl(panel1, entity, ref errorinfo);
  137. //if (result < 0)
  138. //{
  139. // MessageBox.Show("更新数据发生错误:" + errorinfo);
  140. // return null;
  141. //}
  142. Hashtable tempds = new Hashtable();
  143. List<StandardStatus> changes = EntityHelper.GetEntityChange(CurrDs);
  144. if (changes.Count <= 0)
  145. return 1;
  146. tempds.Add(nameof(StandardStatus), JsonConvert.SerializeObject(changes));
  147. Hashtable reds = PubInfo.CallFunction("DllStatusShowBll.StatusShowBll", "UStandardStatus", tempds);
  148. if (reds == null)
  149. return -1;
  150. //TEntity reentity = JsonConvert.DeserializeObject<TEntity>(reds[nameof(TEntity)].ToString());
  151. return 1;
  152. }
  153. catch (Exception e)
  154. {
  155. MessageBox.Show("操作发生错误,错误信息为:" + e.Message.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
  156. return -1;
  157. }
  158. }
  159. private void toolStripButton1_Click(object sender, EventArgs e)
  160. {
  161. int result = CallUStandardStatus();
  162. if(result>0)
  163. {
  164. MessageBox.Show("操作成功。");
  165. Filldgvmain("");
  166. }
  167. }
  168. private void dgvmain_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
  169. {
  170. if (dgvmain.CurrentRow == null)
  171. return;
  172. if (eventSelStandardStatus == null)
  173. return;
  174. StandardStatus entity = dgvmain.CurrentRow.DataBoundItem as StandardStatus;
  175. eventSelStandardStatus?.Invoke(entity);
  176. this.Close();
  177. }
  178. private void StatusColor_SizeChanged(object sender, EventArgs e)
  179. {
  180. }
  181. private void StatusColor_Shown(object sender, EventArgs e)
  182. {
  183. RefreshColor();
  184. }
  185. }
  186. }