| @ -0,0 +1,44 @@ | |||||
| using BWP.B3Frameworks.Utils; | |||||
| using Forks.EnterpriseServices.DataForm; | |||||
| using Forks.EnterpriseServices.DomainObjects2.DQuery; | |||||
| using Forks.EnterpriseServices.SqlDoms; | |||||
| using System; | |||||
| using System.Collections.Generic; | |||||
| using System.Linq; | |||||
| using System.Text; | |||||
| using TSingSoft.WebControls2; | |||||
| using TSingSoft.WebControls2.DFGrids; | |||||
| using TSingSoft.WebPluginFramework.Controls; | |||||
| using TSingSoft.WebPluginFramework.Exports; | |||||
| namespace BWP.Web.Pages.B3ClientService | |||||
| { | |||||
| public class PageUtil | |||||
| { | |||||
| public static void AddExcelExportPanel(HLayoutPanel toolbar, DFBrowseGrid mBrowseGrid, string title) | |||||
| { | |||||
| var exporter = new Exporter(); | |||||
| toolbar.Add(new TSButton("导出到Excel", delegate | |||||
| { | |||||
| var lastQuery = mBrowseGrid.LastQuery; | |||||
| if (lastQuery == null) | |||||
| throw new Exception("请先进行查询"); | |||||
| var dom = new LoadArguments((DQueryDom)lastQuery.DQuery.Clone()); | |||||
| foreach (var colIndex in lastQuery.SumColumns) | |||||
| dom.SumColumns.Add(colIndex); | |||||
| foreach (var colIndex in lastQuery.GroupSumColumns) | |||||
| dom.GroupSumColumns.Add(colIndex); | |||||
| dom.DQuery.Range = SelectRange.All; | |||||
| string fileName = title + ".xlsx"; | |||||
| exporter.Export(new QueryResultExcelExporter(fileName, GetQueryResult(dom))); | |||||
| })); | |||||
| toolbar.Add(exporter); | |||||
| } | |||||
| private static QueryResult GetQueryResult(LoadArguments arg) | |||||
| { | |||||
| var data = new DFDataTableEditor().Load(arg); | |||||
| return new QueryResult(data.TotalCount, data.Data.Rows, data.Data.Columns, arg.SumColumns.Any() ? data.Data.SumRow : null); | |||||
| } | |||||
| } | |||||
| } | |||||