PageReportManage.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. private void PageReportManage_Load(object sender, EventArgs e)
  31. {
  32. }
  33. private async void btn_QueryData_Click(object sender, EventArgs e)
  34. {
  35. DateTime d1 = this.dtp_Start.Value;
  36. DateTime d2 = this.dtp_End.Value;
  37. if (d1 >= d2)
  38. {
  39. UIMessageTip.ShowWarning("开始时间不可以大于结束时间");
  40. return;
  41. }
  42. QueryDataDto queryDataDto = new QueryDataDto()
  43. {
  44. StartTime = d1,
  45. EndTime = d2
  46. };
  47. res = await _dataManager.GetDataListByTimeAsync(queryDataDto);
  48. if (res.Result == SystemEnums.Result.Success)
  49. {
  50. //设置分页的总数
  51. pgn_Data.TotalCount = res.Data.Count;
  52. //设置每页的数量
  53. pgn_Data.PageSize = 15;
  54. pgn_Data.ActivePage = 1;
  55. }
  56. }
  57. private void btn_ExportData_Click(object sender, EventArgs e)
  58. {
  59. SaveFileDialog saveFileDialog = new SaveFileDialog();
  60. saveFileDialog.Filter = "Excel 文件(*.xlsx)|*.xlsx";
  61. if (saveFileDialog.ShowDialog() == DialogResult.OK)
  62. {
  63. try
  64. {
  65. var filePath = saveFileDialog.FileName;
  66. var rows = this.dgv_Data.DataSource as List<QueryDataResultDto>;
  67. MiniExcel.SaveAs(filePath, rows);
  68. }
  69. catch (Exception ex)
  70. {
  71. UIMessageTip.ShowError("导出失败:" + ex.Message);
  72. LogExtension.ShowMessage("导出失败:" + ex.Message, Microsoft.Extensions.Logging.LogLevel.Error);
  73. }
  74. }
  75. }
  76. private void pgn_Data_PageChanged(object sender, object pagingSource, int pageIndex, int count)
  77. {
  78. var data = res.Data.Skip((pageIndex-1)*count).Take(count).ToList();
  79. this.dgv_Data.DataSource = null;
  80. this.dgv_Data.DataSource = data;
  81. }
  82. }
  83. }