34d11c214403af8c5d2843a95b4ff32c984580a9.svn-base 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. using System;
  2. using System.Net;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Core.Mes.ClientFrameWork;
  10. namespace Core.Mes.ClientPurviewManager
  11. {
  12. public partial class frmReply : Form
  13. {
  14. string _ID = "", _Creator = "", _Principal = "", _Complete = "";
  15. public frmReply(string sID, string sComplete, string sCreator, string sPrincipal, string sQuestion)
  16. {
  17. _ID = sID;
  18. _Complete = sComplete;
  19. _Creator = sCreator;
  20. _Principal = sPrincipal;
  21. InitializeComponent();
  22. txtQuestion.Text = sQuestion;
  23. }
  24. void doReply()
  25. {
  26. if (chbxComplete.Checked == false && txtReplyInfo.Text.Trim() == "")
  27. {
  28. txtReplyInfo.Focus();
  29. MessageBox.Show("请输入回复内容!");
  30. return;
  31. }
  32. string[] sArgs = new string[6];
  33. sArgs[0] = _ID;
  34. sArgs[1] = ClientCommon._UserInfo.UserName;
  35. sArgs[2] = ClientCommon._UserInfo.UserDepName;
  36. sArgs[3] = txtReplyInfo.Text.Trim();
  37. sArgs[4] = (chbxComplete.Enabled) ? ((chbxComplete.Checked) ? "1" : "0") : "0";
  38. sArgs[5] = Dns.Resolve(Dns.GetHostName()).AddressList[0].ToString();
  39. string err = "";
  40. object obj = ClientCommon._RemotingHelp.ExecuteMethod("PurviewManager", "Core.Mes.PurviewManager.QuestionReply", "addReply",
  41. new object[] { sArgs },
  42. out err);
  43. if ((int)obj > 0)
  44. {
  45. DataSet dset = (DataSet)ultraGrid1.DataSource;
  46. dset.Tables[0].Rows.Add(new object[] { _ID, int.Parse(err), sArgs[1], sArgs[3], DateTime.Now, sArgs[5], sArgs[4], sArgs[2] });
  47. ultraGrid1.Rows[ultraGrid1.Rows.Count - 1].Activate();
  48. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow arow in ultraGrid1.Selected.Rows)
  49. arow.Selected = false;
  50. _Complete = sArgs[4];
  51. ultraToolbarsManager1.Tools["tlbtnReply"].SharedProps.Visible = (_Complete == "0");
  52. ultraToolbarsManager1.Tools["tlbtnDelete"].SharedProps.Visible = (_Complete == "0");
  53. }
  54. else
  55. MessageBox.Show(err);
  56. }
  57. void doEdit()
  58. {
  59. }
  60. void doDelete()
  61. {
  62. Infragistics.Win.UltraWinGrid.UltraGridRow arow = ultraGrid1.ActiveRow;
  63. if (arow == null)
  64. return;
  65. if (MessageBox.Show("您确定要删除?", "选择", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) ==
  66. DialogResult.No)
  67. return;
  68. string[] sArgs = new string[2];
  69. sArgs[0] = _ID;
  70. sArgs[1] = arow.Cells["XH"].Value.ToString();
  71. string err = "";
  72. object obj = ClientCommon._RemotingHelp.ExecuteMethod("PurviewManager", "Core.Mes.PurviewManager.QuestionReply", "delReply",
  73. new object[] { sArgs },
  74. out err);
  75. if ((int)obj > 0)
  76. {
  77. int idx = arow.Index;
  78. arow.Delete(false);
  79. if (idx < ultraGrid1.Rows.Count)
  80. {
  81. ultraGrid1.Rows[idx].Activate();
  82. }
  83. else if (idx == ultraGrid1.Rows.Count && ultraGrid1.Rows.Count > 0)
  84. {
  85. ultraGrid1.Rows[idx - 1].Activate();
  86. }
  87. }
  88. else
  89. MessageBox.Show(err);
  90. }
  91. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  92. {
  93. switch (e.Tool.Key)
  94. {
  95. case "tlbtnReply": // ButtonTool
  96. doReply();
  97. break;
  98. case "tlbtnEdit": // ButtonTool
  99. break;
  100. case "tlbtnDelete": // ButtonTool
  101. doDelete();
  102. break;
  103. case "tlbtnClose": // ButtonTool
  104. Close();
  105. break;
  106. }
  107. }
  108. private void frmReply_Load(object sender, EventArgs e)
  109. {
  110. string err = "";
  111. object obj = ClientCommon._RemotingHelp.ExecuteMethod("PurviewManager", "Core.Mes.PurviewManager.QuestionReply", "getReplyData",
  112. new object[] { _ID },
  113. out err);
  114. if (obj != null)
  115. {
  116. ultraGrid1.DataSource = (DataSet)obj;
  117. }
  118. ultraToolbarsManager1.Tools["tlbtnReply"].SharedProps.Visible = (_Complete == "0");
  119. //ultraToolbarsManager1.Tools["tlbtnEdit"].SharedProps.Visible = (_Complete == "0");
  120. ultraToolbarsManager1.Tools["tlbtnDelete"].SharedProps.Visible = (_Complete == "0");
  121. chbxComplete.Enabled = (ClientCommon._UserInfo.UserName == _Creator || ClientCommon._UserInfo.UserName == _Principal);
  122. }
  123. private void ultraGrid1_AfterRowActivate(object sender, EventArgs e)
  124. {
  125. Infragistics.Win.UltraWinGrid.UltraGridRow arow = ultraGrid1.ActiveRow;
  126. //ultraToolbarsManager1.Tools["tlbtnEdit"].SharedProps.Enabled = (ClientCommon._UserInfo.UserName == arow.Cells["ANSWERER"].Text.Trim() &&
  127. // arow.Index == ultraGrid1.Rows.Count-1);
  128. ultraToolbarsManager1.Tools["tlbtnDelete"].SharedProps.Enabled = (ClientCommon._UserInfo.UserName == arow.Cells["ANSWERER"].Text.Trim() &&
  129. arow.Index == ultraGrid1.Rows.Count - 1);
  130. txtReplyInfo.Text = "";
  131. chbxComplete.Checked = false;
  132. }
  133. private void ultraGrid1_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e)
  134. {
  135. //txtReplyInfo.Text = e.Row.Cells["REPLYINFO"].Text;
  136. //chbxComplete.Checked = (e.Row.Cells["REPLYINFO"].Value.ToString() == "1");
  137. }
  138. }//class
  139. }