Flexmonster - Classic (tabular) form

Demos

by Flexmonster Pivot Table

HTML

<script src="https://cdn.flexmonster.com/flexmonster.js"></script>

<button onclick="changeLayout('compact')">Use compact form</button>
<button onclick="changeLayout('classic')">Use classic form</button>
<button onclick="setRepeatLabels(true)">Repeat labels on</button>
<button onclick="setRepeatLabels(false)">Repeat labels off</button>

<div id="pivot-container"></div>

CSS

@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);

JavaScript

const pivot = new Flexmonster({
  container: "#pivot-container",
  componentFolder: "https://cdn.flexmonster.com/",
  report: {
    dataSource: {
      type: "csv",
      filename: "data/data.csv",
    },
    options: {
      grid: {
        type: "classic",
      },
    },
    slice: {
      rows: [
        {
          uniqueName: "Country",
        },
        {
          uniqueName: "Business Type",
        },
      ],
      columns: [
        {
          uniqueName: "Color",
        },
        {
          uniqueName: "[Measures]",
        },
      ],
      measures: [
        {
          uniqueName: "Price",
          format: "currency",
        },
      ],
      expandAll: true,
    },
    formats: [
      {
        name: "",
        thousandsSeparator: ",",
        decimalSeparator: ".",
        decimalPlaces: 2,
      },
      {
        name: "currency",
        currencySymbol: "$",
      },
    ],
  },
})

function changeLayout(layoutType) {
  pivot.setOptions({
    grid: {
      type: layoutType,
    },
  })
  pivot.refresh()
}

function setRepeatLabels(enabled) {
  pivot.setOptions({
    grid: {
      repeatAllLabels: enabled,
    },
  })
  pivot.refresh()
}