How to use a custom table HTML template in a Portlet?
–> Use a Portlet script in Simple form type and create a custom HTML template in table form in the script or store it in the FIle cabinet.
–> Use this custom template to render the contents in the table.
                var portlet = params.portlet;
                    portlet.title = '<Title>';
                    var entityId = params.entity;
                    log.debug('entityId', entityId);
                    <script functionalities >
                        if (Object.keys(supportingEntities).length) {
                            var html = "<div><link rel=\"stylesheet\" href=\"https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css\" integrity=\"sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS\" crossorigin=\"anonymous\">\n" + "<script src=\"https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js\" integrity=\"sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k\" crossorigin=\"anonymous\"></script><body><table class='table table-bordered table-hover table-sm' border='2'><tr><td align='center'><b>Donated From</b></td><td align='center'><b>Currency</b></td><td align='center'><b>Recent Trandate</b></td><td align='right'><b>Recent Transaction Amount</b></td><td align='right'><b>Cumulative FX Amount</b></td></tr><#list results.details as donationsFrom><tr><td align='left'>${donationsFrom.donatedFrom.text}</td><td align='center'>${donationsFrom.currency.text}</td><td align='center'>${donationsFrom.recentTransactionDate.value}</td><td align='right'>${donationsFrom.recentTransactionAmount.value}</td><td align='right'>${donationsFrom.amountFX.value}</td></tr></#list></table></body> </div>";
                            var renderer = render.create();
                            renderer.templateContent = html;
                            renderer.addCustomDataSource({
                                format: render.DataSource.OBJECT,
                                alias: "results",
                                data: {
                                    details: supportingEntities
                                }
                            });
                            portlet.addField({
                                id: '_supportingentities',
                                type: serverWidget.FieldType.INLINEHTML,
                                label: 'Supporting Donors/DAFs'
                            }).defaultValue = renderer.renderAsString();