ButtonSaveGrid.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System;
  2. using System.Data;
  3. using DevExpress.XtraEditors;
  4. using UAS_DeviceMonitor.Entity;
  5. namespace UAS_DeviceMonitor.CustomerControl.Button
  6. {
  7. public partial class ButtonSaveGrid : SimpleButton
  8. {
  9. private AutoDataGridControl.AutoDataGridControl grid;
  10. /// <summary>
  11. /// 设置是否优先处理用户自定义的Click事件
  12. /// </summary>
  13. private bool handlerOtherFirst = false;
  14. public AutoDataGridControl.AutoDataGridControl Grid
  15. {
  16. get
  17. {
  18. return grid;
  19. }
  20. set
  21. {
  22. grid = value;
  23. }
  24. }
  25. public bool HandlerOtherFirst
  26. {
  27. get
  28. {
  29. return handlerOtherFirst;
  30. }
  31. set
  32. {
  33. handlerOtherFirst = value;
  34. }
  35. }
  36. public ButtonSaveGrid()
  37. {
  38. InitializeComponent();
  39. }
  40. /// <summary>
  41. /// 处理完其他Click事件提供回调函数重新触发保存事件
  42. /// </summary>
  43. public void DoSave()
  44. {
  45. DataTable dt = ((DataTable)grid.DataSource).GetChanges();
  46. if (dt != null && dt.Rows.Count > 0)
  47. {
  48. SystemInf.dh.SaveDataTable(dt, grid.TableName, grid.ID, grid.InsertSQL);
  49. grid.RefreshData();
  50. XtraMessageBox.Show("保存成功", "提示");
  51. }
  52. else
  53. {
  54. XtraMessageBox.Show("没有修改过的数据", "提示");
  55. }
  56. }
  57. private void ButtonSaveGrid_Click(object sender, EventArgs e)
  58. {
  59. if (!handlerOtherFirst)
  60. {
  61. DoSave();
  62. }
  63. }
  64. }
  65. }