Highlighting cells based on its semantic - member, hierarchy, measure
Customizing the grid
by Flexmonster Pivot Table
HTML
<script src="https://cdn.flexmonster.com/flexmonster.js"></script>
<div id="pivot-container"></div>
CSS
@import url(https://cdn.flexmonster.com/assets/jsfiddle-styles.css);
#fm-pivot-view .fm-grid-view div.fm-cell[hierarchy-r-0="Country"][member-r-0="Canada"] {
background-color: #E1E1E1;
}
#fm-pivot-view .fm-grid-view div.fm-cell[measure="Price"],
#fm-pivot-view .fm-grid-view div.fm-cell.fm-header[measure="Price"] {
color: #C00000;
}
JavaScript
const pivot = new Flexmonster({
container: "pivot-container",
componentFolder: "https://cdn.flexmonster.com/",
toolbar: true,
customizeCell: customizeCellFunction,
report: {
dataSource: {
filename: "data/data.json",
},
slice: {
rows: [
{
uniqueName: "Country",
},
{
uniqueName: "Business Type",
},
{
uniqueName: "Category",
},
{
uniqueName: "[Measures]",
},
],
columns: [
{
uniqueName: "Color",
},
],
measures: [
{
uniqueName: "Price",
},
{
uniqueName: "Quantity",
},
{
uniqueName: "Discount",
},
],
},
},
});
function customizeCellFunction(cell, data) {
if (data.measure) {
cell.attr.measure = data.measure.name;
}
if (data.rows) {
for (var i = 0; i < data.rows.length; i++) {
cell.attr["hierarchy-r-" + i] = data.rows[i]["hierarchyCaption"];
cell.attr["member-r-" + i] = data.rows[i]["caption"];
}
}
if (data.columns) {
for (var i = 0; i < data.columns.length; i++) {
cell.attr["hierarchy-c-" + i] = data.columns[i].hierarchyCaption;
cell.attr["member-c-" + i] = data.columns[i].caption;
}
}
}