|
|
|
@ -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); |
|
|
|
} |
|
|
|
} |
|
|
|
} |