Demo - Frozen Rows and Columns
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.grapecity.com/wijmo/5.latest/styles/wijmo.min.css">
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.pdf.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.pdf.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lz-string/1.4.4/lz-string.min.js"></script>
<br/>
<br/>
<br/>
<div class="container">
<div id="theGrid"></div>
<button id="export" class="btn btn-default">
Export to PDF
</button>
</div>
CSS
.wj-flexgrid {
max-height: 250px;
margin: 10px 0;
}
body {
margin-bottom: 20px;
}
/* style frozen cells */
.wj-cell.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected),
.wj-cell.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
background: rgb(255,255,125);
}
.wj-flexgrid .wj-cell.wj-frozen-col {
z-index: 0;
}
JavaScript
onload = function () {
document.getElementById("export").addEventListener("click", e => {
var pdf = wijmo.pdf;
var gridPdf = wijmo.grid.pdf;
var pdf_name = 'Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test';
pdf_name = addLineFeed(pdf_name, 30);
let doc = new pdf.PdfDocument({
ended: (sender, args) => pdf.saveBlob(args.blob, 'FlexGrid.pdf'),
footer: {
declarative: {
text: pdf_name + '\t&[Page]\\&[Pages]'
}
},
});
doc.end();
});
}
function addLineFeed(text, noOfChars) {
var totalLineFeedsToAdd = Math.floor(text.length / noOfChars);
for(let i = 1; i <= totalLineFeedsToAdd; i++) {
var idx = (noOfChars * i) + i;
var idxToPlace = text.indexOf(' ', idx);
text = text.substring(0, idxToPlace) + '\n' + text.substring(idxToPlace + 1);
}
return text;
}