华恒Mes鼎捷代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

226 lines
8.5 KiB

5 months ago
  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. using DevExpress.XtraEditors;
  9. using DevExpress.XtraGrid.Columns;
  10. using ICSSoft.Base.Config.AppConfig;
  11. using ICSSoft.Base.Report.Filter;
  12. using ICSSoft.Base.Config.DBHelper;
  13. using ICSSoft.Base.UserControl.FormControl;
  14. using ICSSoft.Base.ReferForm.AppReferForm;
  15. using ICSSoft.Base.Lable.PrintTool;
  16. using ICSSoft.Frame.Data.DAL;
  17. using ICSSoft.Frame.Data.BLL;
  18. using ICSSoft.Frame.Data.Entity;
  19. namespace ICSSoft.Frame.APP
  20. {
  21. public partial class FormDataView : DevExpress.XtraEditors.XtraForm
  22. {
  23. /// <summary>
  24. /// 数据源
  25. /// </summary>
  26. public DataTable DataSource = null;
  27. /// <summary>
  28. /// 返回数据
  29. /// </summary>
  30. public DataTable ReturnData = null;
  31. /// <summary>
  32. /// 窗体标题
  33. /// </summary>
  34. public string FormTitle = "";
  35. /// <summary>
  36. /// 列表边距
  37. /// </summary>
  38. public int RowIndexWidth = 40;
  39. /// <summary>
  40. /// 是否多选
  41. /// </summary>
  42. public bool MSelectFlag = false;
  43. /// <summary>
  44. /// 隐藏字段列表
  45. /// </summary>
  46. public List<string> HideCols = new List<string>();
  47. /// <summary>
  48. /// 绑定默认选择的字段
  49. /// </summary>
  50. public Dictionary<string,List<string>> DefaultSelectItems=new Dictionary<string,List<string>>();
  51. public int FormWidth = 200;
  52. public int FormHeight = 200;
  53. /// <summary>
  54. /// 近似值
  55. /// </summary>
  56. public string FilterKey = "";
  57. public FormICSMO2UserSend MO2UserSend;
  58. public FormDataView(FormICSMO2UserSend ICSMO2UserSend)
  59. {
  60. InitializeComponent();
  61. grvDetail.IndicatorWidth = RowIndexWidth;
  62. this.Width = FormWidth;
  63. this.Height = FormHeight;
  64. MO2UserSend = ICSMO2UserSend;
  65. }
  66. private void btnExit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
  67. {
  68. this.DialogResult = DialogResult.Cancel;
  69. }
  70. private void FormDataView_Load(object sender, EventArgs e)
  71. {
  72. this.Visible = true;
  73. grdDetail.DataSource = DataSource;
  74. #region ''
  75. //string waitMsg = "正在加载中,请稍等";
  76. //LangObj msgObj = new LangObj();
  77. //msgObj.LConvertString = waitMsg;
  78. //msgObj.LParameters = new object[] { };
  79. //waitMsg = LanguageConvert.ConvertString("1-" + AppConfig.LangIndex, msgObj);
  80. //DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm(waitMsg);
  81. //try
  82. //{
  83. // _wait.Show();
  84. // if (DataSource == null)
  85. // {
  86. // List<LangObj> objList = new List<LangObj>();
  87. // LangObj obj = new LangObj();
  88. // obj.LConvertString = "数据源为空";
  89. // obj.LParameters = new object[] { };
  90. // objList.Add(obj);
  91. // MessageDialog msg = new MessageDialog(2, objList);
  92. // if (msg.ShowDialog() == DialogResult.OK)
  93. // {
  94. // this.DialogResult = DialogResult.Cancel;
  95. // }
  96. // }
  97. // else if (DataSource.Columns.Contains("选择"))
  98. // {
  99. // List<LangObj> objList = new List<LangObj>();
  100. // LangObj obj = new LangObj();
  101. // obj.LConvertString = "数据源不可以存在“选择”字段";
  102. // obj.LParameters = new object[] { };
  103. // objList.Add(obj);
  104. // MessageDialog msg = new MessageDialog(2, objList);
  105. // if (msg.ShowDialog() == DialogResult.OK)
  106. // {
  107. // this.DialogResult = DialogResult.Cancel;
  108. // }
  109. // }
  110. // else
  111. // {
  112. // GridColumn selectCol = new GridColumn();
  113. // selectCol.Caption = "选择";
  114. // selectCol.FieldName = "选择";
  115. // selectCol.VisibleIndex = 1;
  116. // selectCol.Visible = !(HideCols.Contains("选择"));
  117. // grvDetail.Columns.Add(selectCol);
  118. // int i = 2;
  119. // foreach (DataColumn dc in DataSource.Columns)
  120. // {
  121. // GridColumn gc = new GridColumn();
  122. // gc.Caption = dc.ColumnName;
  123. // gc.FieldName = dc.ColumnName;
  124. // gc.VisibleIndex = i;
  125. // gc.Visible = !(HideCols.Contains(dc.ColumnName));
  126. // grvDetail.Columns.Add(gc);
  127. // i++;
  128. // }
  129. // DataSource.Columns.Add("选择", typeof(string));
  130. // foreach (DataRow dr in DataSource.Rows)
  131. // {
  132. // dr["选择"] = "";
  133. // }
  134. // DataSource.AcceptChanges();
  135. // grdDetail.DataSource = DataSource;
  136. // //txtKey.EditValue = FilterKey;
  137. // //SearchFunction();
  138. // grvDetail.BestFitColumns();
  139. // }
  140. // grvDetail.PostEditor();
  141. // this.Validate();
  142. // for (int i = 0; i < grvDetail.RowCount; i++)
  143. // {
  144. // foreach (GridColumn gc in grvDetail.Columns)
  145. // {
  146. // string value = grvDetail.GetRowCellValue(i, gc).ToString();
  147. // if (DefaultSelectItems.ContainsKey(gc.FieldName))
  148. // {
  149. // List<string> valueList = DefaultSelectItems[gc.FieldName];
  150. // if (valueList.Contains(value))
  151. // {
  152. // grvDetail.SetRowCellValue(i, "选择", "Y");
  153. // }
  154. // }
  155. // }
  156. // }
  157. // this.Text = FormTitle;
  158. // _wait.Close();
  159. //}
  160. //catch (Exception ex)
  161. //{
  162. // _wait.Close();
  163. // List<LangObj> objList = new List<LangObj>();
  164. // LangObj obj = new LangObj();
  165. // obj.LConvertString = "异常:{0}";
  166. // obj.LParameters = new object[] { ex.Message };
  167. // objList.Add(obj);
  168. // MessageDialog msg = new MessageDialog(2, objList);
  169. // msg.ShowDialog();
  170. //}
  171. #endregion
  172. }
  173. private void grvDetail_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
  174. {
  175. if (e.RowHandle < 0)
  176. return;
  177. e.Info.DisplayText = (e.RowHandle + 1).ToString();
  178. }
  179. private void grvDetail_DoubleClick(object sender, EventArgs e)
  180. {
  181. grvDetail.PostEditor();
  182. this.Validate();
  183. if (grvDetail.RowCount == 0)
  184. return;
  185. if (grvDetail.FocusedRowHandle < 0)
  186. return;
  187. if (MSelectFlag == false)
  188. {
  189. int i = grvDetail.FocusedRowHandle;
  190. ReturnData = new DataTable();
  191. ReturnData = DataSource.Clone();
  192. DataRow ndr = ReturnData.NewRow();
  193. foreach (GridColumn gc in grvDetail.Columns)
  194. {
  195. ndr[gc.FieldName] = grvDetail.GetRowCellValue(i, gc);
  196. }
  197. ReturnData.Rows.Add(ndr);
  198. ReturnData.AcceptChanges();
  199. this.DialogResult = DialogResult.OK;
  200. //MO2UserSend.SetRowCellValue(ReturnData);
  201. // this.Visible = false;
  202. }
  203. else
  204. {
  205. string selectValue = grvDetail.GetRowCellValue(grvDetail.FocusedRowHandle, "选择").ToString().Trim();
  206. if (selectValue == "")
  207. {
  208. selectValue = "Y";
  209. }
  210. else
  211. {
  212. selectValue = "";
  213. }
  214. grvDetail.SetRowCellValue(grvDetail.FocusedRowHandle, "选择", selectValue);
  215. }
  216. }
  217. }
  218. }