Web pivot table builder PivotData C# Examples
How web pivot builder works
Front-end JS components
Web pivot builder data sources
Unlike typical ASP.NET pivot control that is usually "one solid" component PivotData web pivot builder is more like a lego model; you can use "ToolkitPivotReportMvc" example as is, or take only widgets and functionality you need. Since you have full source code of js front-end and ASP.NET backend you can easily customize web pivot builder:
- add custom data sources by implementing
ICubeinterface (say, use MongoDb as illustrated in "ToolkitMongoDbSource" example).
- change UI layout, use another controls for report configuration, add/remove options.
- replace ChartistJS with your favourite js charts library, add more chart types (or use existing alternative integrations of ECharts or C3.js).
- customize styles (by default Bootstrap is used)
- define your own drill-down logic (say, you may open data grid with aggregated rows instead of applying pivot table filter and adding additional dimension).
How to integrate with Angular/React/Vue
Web pivot builder front-end implemented as jQuery plugins because they could be used both in non-SPA and SPA web applications. Modern SPA frameworks could correctly embed webpivotbuilder.js plugin:
- How to use jQuery Plugin with Angular 4?
- Integrating with Other Libraries
- Wrapper Component Example
Web pivot table builder features implemented in the ToolkitPivotBuilderMvc example
- interactive pivot table: sorting by labels/values, server-side pagination, fixed headers, keyword-based table filter, drill-down by click on value cell.
- report configuration: select any number of dimensions for rows/columns, select any number of values.
- formatting/calculation options: perentage, difference, running total, heatmap, top N limit, totals/subtotals.
- pivot chart types: bar/stacked bar, horizontal bar, line, scatter, area, pie, donut.
- drill-down by click on the value cell
Features that you can add by yourself:
- report parameters for data source level filtering: you can specify custom filter form, or use generic query builder widget (like NReco JS Query Builder).
- replace keyword-based filter with checkbox-based (Excel-like) filter.
SqlGroupByfor more efficient query generation, or implement your custom data source.
NOTE: if you want to integrate web pivot builder functionality with minimal efforts take a look to PivotData microservice: this is on-premise server software that implements mini ROLAP engine and provides web API for pivot table generation (no programming needed, data sources are configured with JSON). Microservice can be integrated into any web application (even non-ASP.NET).