FormLogOperationSetting.cs 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  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.Linq;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using DevExpress.XtraEditors;
  11. using ProjectBase.Data.BaseDAL;
  12. using SIMDP.BLL;
  13. using ProjectBase.Data.Logs;
  14. using SIMDP.Model;
  15. using ProjectBase.Util;
  16. namespace SIMDP.View
  17. {
  18. public partial class FormLogOperationSetting : DevExpress.XtraEditors.XtraForm
  19. {
  20. string condition = null;
  21. public FormLogOperationSetting()
  22. {
  23. InitializeComponent();
  24. }
  25. private void FormLogOperationSetting_Load(object sender, EventArgs e)
  26. {
  27. InitControl();
  28. InitGrid();
  29. }
  30. /// <summary>
  31. /// 初始化控件
  32. /// </summary>
  33. private void InitControl()
  34. {
  35. List<string> tableList = BLLFactory<BlLogOperationSetting>.Instance.GetTableNames();
  36. tableList.Insert(0,"全部表");
  37. this.lookUp_TableName.Properties.DataSource = tableList;
  38. this.lookUp_TableName.Properties.NullText = null;
  39. this.lookUp_TableName.EditValue = tableList[0];
  40. }
  41. /// <summary>
  42. /// 初始化表格控件
  43. /// </summary>
  44. private void InitGrid()
  45. {
  46. //entity
  47. this.winGridViewPager1.OnPageChanged += new EventHandler(winGridViewPager1_OnPageChanged);
  48. this.winGridViewPager1.OnStartExport += new EventHandler(winGridViewPager1_OnStartExport);
  49. this.winGridViewPager1.OnRefresh += new EventHandler(winGridViewPager1_OnRefresh);
  50. this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);
  51. this.winGridViewPager1.OnAddNew += new EventHandler(winGridViewPager1_OnAddNew);
  52. this.winGridViewPager1.OnDeleteSelected += new EventHandler(winGridViewPager1_OnDeleteSelected);
  53. this.winGridViewPager1.gridView1.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(gridView1_CustomColumnDisplayText);
  54. this.winGridViewPager1.ShowLineNumber = true;
  55. this.winGridViewPager1.BestFitColumnWith = true;
  56. this.winGridViewPager1.DisplayColumns = "TableName,Forbid,InsertLog,DeleteLog,UpdateLog,CreatorName,CreateTime,EditorName,EditTime";
  57. #region 添加别名解析
  58. this.winGridViewPager1.AddColumnAlias("ID", "");
  59. this.winGridViewPager1.AddColumnAlias("TableName", "数据库表名称");
  60. this.winGridViewPager1.AddColumnAlias("Forbid", "是否禁用");
  61. this.winGridViewPager1.AddColumnAlias("InsertLog", "记录插入日志");
  62. this.winGridViewPager1.AddColumnAlias("DeleteLog", "记录删除日志");
  63. this.winGridViewPager1.AddColumnAlias("UpdateLog", "记录更新日志");
  64. this.winGridViewPager1.AddColumnAlias("CreatorAccount", "");
  65. this.winGridViewPager1.AddColumnAlias("CreatorName", "创建人");
  66. this.winGridViewPager1.AddColumnAlias("CreateTime", "创建时间");
  67. this.winGridViewPager1.AddColumnAlias("EditorAccount", "");
  68. this.winGridViewPager1.AddColumnAlias("EditorName", "编辑人名称");
  69. this.winGridViewPager1.AddColumnAlias("EditTime", "编辑时间");
  70. #endregion
  71. this.winGridViewPager1.PrintTitle = "用户操作日志数据库表配置表";
  72. this.winGridViewPager1.gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
  73. BindData(" 1=1");
  74. condition = " 1=1";
  75. }
  76. /// <summary>
  77. /// 绑定数据源
  78. /// </summary>
  79. /// <param name="condition"></param>
  80. private void BindData(string condition)
  81. {
  82. this.winGridViewPager1.DataSource = BLLFactory<BlLogOperationSetting>.Instance.FindWithPager(condition, this.winGridViewPager1.PagerInfo);
  83. for (int i = 0; i < this.winGridViewPager1.gridView1.Columns.Count; i++) //设置每列内容居中显示
  84. {
  85. this.winGridViewPager1.gridView1.Columns[i].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
  86. }
  87. }
  88. /// <summary>
  89. /// 分页控件翻页的操作
  90. /// </summary>
  91. private void winGridViewPager1_OnPageChanged(object sender, EventArgs e)
  92. {
  93. BindData(condition);
  94. }
  95. /// <summary>
  96. /// 分页控件全部导出操作前的操作
  97. /// </summary>
  98. private void winGridViewPager1_OnStartExport(object sender, EventArgs e)
  99. {
  100. this.winGridViewPager1.AllToExport = BLLFactory<BlLogOperationSetting>.Instance.Find(condition);
  101. }
  102. /// <summary>
  103. /// 分页控件刷新操作
  104. /// </summary>
  105. private void winGridViewPager1_OnRefresh(object sender, EventArgs e)
  106. {
  107. BindData(condition);
  108. }
  109. /// <summary>
  110. /// 分页控件编辑项操作
  111. /// </summary>
  112. private void winGridViewPager1_OnEditSelected(object sender, EventArgs e)
  113. {
  114. MoLogOperationSetting selectRow = this.winGridViewPager1.gridView1.GetFocusedRow() as MoLogOperationSetting;
  115. FormEditLogOperationSetting formEditLog = new FormEditLogOperationSetting();
  116. formEditLog.operationSetting = selectRow;
  117. formEditLog.ShowDialog();
  118. if (formEditLog.DialogResult == DialogResult.OK)
  119. {
  120. BindData(condition);
  121. }
  122. }
  123. /// <summary>
  124. /// 分页控件新增操作
  125. /// </summary>
  126. private void winGridViewPager1_OnAddNew(object sender, EventArgs e)
  127. {
  128. FormEditLogOperationSetting formEditLog = new FormEditLogOperationSetting();
  129. formEditLog.ShowDialog();
  130. if (formEditLog.DialogResult == DialogResult.OK)
  131. {
  132. BindData(condition);
  133. }
  134. }
  135. /// <summary>
  136. /// 分页控件删除操作
  137. /// </summary>
  138. private void winGridViewPager1_OnDeleteSelected(object sender, EventArgs e)
  139. {
  140. try
  141. {
  142. if (DevExpress.XtraEditors.XtraMessageBox.Show("您确定删除选定的记录么?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No)
  143. {
  144. return;
  145. }
  146. MoLogOperationSetting selectRow = this.winGridViewPager1.gridView1.GetFocusedRow() as MoLogOperationSetting;
  147. int id = Convert.ToInt32(selectRow.ID);
  148. bool flag = BLLFactory<BlLogOperationSetting>.Instance.Delete(id, SysEnvironment.CurrentLoginID);
  149. if (flag)
  150. {
  151. DevExpress.XtraEditors.XtraMessageBox.Show("删除成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  152. BindData(condition);
  153. }
  154. }
  155. catch (Exception ex)
  156. {
  157. DevExpress.XtraEditors.XtraMessageBox.Show("删除失败。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  158. LogHelper.log.Error(string.Format("删除数据库log_operationSetting出现错误:{0}", ex));
  159. }
  160. }
  161. void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
  162. {
  163. if (e.Column.ColumnType == typeof(DateTime))
  164. {
  165. string columnName = e.Column.FieldName;
  166. if (e.Value != null)
  167. {
  168. if (Convert.ToDateTime(e.Value) <= Convert.ToDateTime("1900-1-1"))
  169. {
  170. e.DisplayText = "";
  171. }
  172. else
  173. {
  174. e.DisplayText = Convert.ToDateTime(e.Value).ToString("yyyy-MM-dd HH:mm");//yyyy-MM-dd
  175. }
  176. }
  177. }
  178. }
  179. private void btn_Query_Click(object sender, EventArgs e)
  180. {
  181. if (lookUp_TableName.Text == "全部表" && check_Forbid.CheckState != CheckState.Checked)
  182. {
  183. BindData(" 1=1");
  184. condition = " 1=1";
  185. return;
  186. }
  187. string sql = " 1=1";
  188. if (lookUp_TableName.Text != "全部表")
  189. {
  190. sql += string.Format(" AND setting_tableName = '{0}'",lookUp_TableName.Text);
  191. }
  192. if (check_Forbid.CheckState == CheckState.Checked)
  193. {
  194. sql += string.Format(" AND setting_forBid = {0}" ,1);
  195. }
  196. BindData(sql);
  197. condition = sql;
  198. }
  199. private void btn_Add_Click(object sender, EventArgs e)
  200. {
  201. winGridViewPager1_OnAddNew(sender, e);
  202. }
  203. }
  204. }