PageReportManage.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using BLL.Dto.DataDto;
  11. using BLL.Manager;
  12. using Helper;
  13. using HZY.Framework.DependencyInjection;
  14. using MiniExcelLibs;
  15. using Sunny.UI;
  16. namespace Scada.Page
  17. {
  18. public partial class PageReportManage : UIPage, ISingletonSelfDependency
  19. {
  20. private BaseResult<QueryDataResultDto> res;
  21. private readonly DataManager _dataManager;
  22. public PageReportManage(DataManager dataManager)
  23. {
  24. InitializeComponent();
  25. this._dataManager = dataManager;
  26. this.dtp_Start.Value = DateTime.Now.AddDays(-1);
  27. this.dtp_End.Value = DateTime.Now;
  28. this.dgv_Data.AutoGenerateColumns = false;
  29. }
  30. protected override CreateParams CreateParams
  31. {
  32. get
  33. {
  34. CreateParams paras = base.CreateParams;
  35. paras.ExStyle |= 0x02000000;
  36. return paras;
  37. }
  38. }
  39. private void PageReportManage_Load(object sender, EventArgs e)
  40. {
  41. }
  42. private async void btn_QueryData_Click(object sender, EventArgs e)
  43. {
  44. DateTime d1 = this.dtp_Start.Value;
  45. DateTime d2 = this.dtp_End.Value;
  46. if (d1 >= d2)
  47. {
  48. UIMessageTip.ShowWarning("开始时间不可以大于结束时间");
  49. return;
  50. }
  51. QueryDataDto queryDataDto = new QueryDataDto()
  52. {
  53. StartTime = d1,
  54. EndTime = d2
  55. };
  56. res = await _dataManager.GetDataListByTimeAsync(queryDataDto);
  57. if (res.Result == SystemEnums.Result.Success)
  58. {
  59. //设置分页的总数
  60. pgn_Data.TotalCount = res.Data.Count;
  61. //设置每页的数量
  62. pgn_Data.PageSize = 15;
  63. pgn_Data.ActivePage = 1;
  64. }
  65. }
  66. private void btn_ExportData_Click(object sender, EventArgs e)
  67. {
  68. SaveFileDialog saveFileDialog = new SaveFileDialog();
  69. saveFileDialog.Filter = "Excel 文件(*.xlsx)|*.xlsx";
  70. if (saveFileDialog.ShowDialog() == DialogResult.OK)
  71. {
  72. try
  73. {
  74. var filePath = saveFileDialog.FileName;
  75. var rows = this.dgv_Data.DataSource as List<QueryDataResultDto>;
  76. MiniExcel.SaveAs(filePath, rows);
  77. }
  78. catch (Exception ex)
  79. {
  80. UIMessageTip.ShowError("导出失败:" + ex.Message);
  81. LogExtension.ShowMessage("导出失败:" + ex.Message, Microsoft.Extensions.Logging.LogLevel.Error);
  82. }
  83. }
  84. }
  85. private void pgn_Data_PageChanged(object sender, object pagingSource, int pageIndex, int count)
  86. {
  87. var data = res.Data.Skip((pageIndex-1)*count).Take(count).ToList();
  88. this.dgv_Data.DataSource = null;
  89. this.dgv_Data.DataSource = data;
  90. }
  91. }
  92. }