DescriptionThis knowledge base explains how to add a template in ribbon backstage. SolutionIt can be achieved by using ‘loadComplete’ client-side event in the Spreadsheet. Here we have added button as a template in the ribbon backstage and we will update the template data by using “openTemplate()” method, when template button is clicked. The following code example demonstrate how to add template in ribbon backstage,
HTML
<div id="Spreadsheet"></div>
JS
$("#Spreadsheet").ejSpreadsheet({ loadComplete: "onLoadComplete" });
RAZOR
@(Html.EJ().Spreadsheet<object>("Spreadsheet") .ClientSideEvents( events => events.LoadComplete("onLoadComplete") ) )
ASPX
<ej:Spreadsheet ID="Spreadsheet" runat="server"> <ClientSideEvents LoadComplete="onLoadComplete" /> </ej:Spreadsheet>
JS
function onLoadComplete() { var spreadsheetID = "Spreadsheet", backstageNewElem = $("#" + spreadsheetID + "_backstagetabnew"), backstageItem, templateID = spreadsheetID + "_bstab_template", buttonOption; //Adding Backstage Item if (!backstageNewElem.find("#" + templateID).length) { backstageItem = '<div class="e-spreadsheet-template"><button id="' + templateID + '"></button><span></span></div>', buttonOption = { height: 120, width: 150, contentType: "textOnly", text: "Template", click: "openTemplate" }; backstageNewElem.append(backstageItem); $("#" + templateID).ejButton(buttonOption); } } function openTemplate(args) { //To update template data in the Spreadsheet var spreadsheetID = "Spreadsheet", xlObj = $("#" + spreadsheetID).data("ejSpreadsheet"), sheetIdx = xlObj.getActiveSheetIndex(), templateData = { dataSource: [{ Product: "XYZ", Price: "2000", Quantity: "10", Price: "20", Amount: "200" }], showHeader: "true", startCell: "A1" }; xlObj.updateRange(sheetIdx, templateData); $("#" + spreadsheetID + "_Ribbon").data("ejRibbon").hideBackstage(); }
The following is displayed as output of adding custom template in the Spreadsheet ribbon backstage.
Figure: Spreadsheet Ribbon Backstage. |
This page will automatically be redirected to the sign-in page in 10 seconds.