How do you print all values in an array onto the modal dialog? I have tried the code below but it only prints the last array value.
for (var count = 0; count < 10; count ) {
var htmlOutput = HtmlService.createHtmlOutput(arr[count]);
var arrayOutput = SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Test');
}
CodePudding user response:
You can just use join method
SpreadsheetApp.getUi().showModalDialog(HtmlService.createHtmlOutput(arr.join(","),"Test")
or
SpreadsheetApp.getUi().showModalDialog(HtmlService.createHtmlOutput(JSON.stringify(arr),"Test")
CodePudding user response:
showModalDialog()
method does not suspend the server-side script while the dialog is open.
The script should show all the elements one by one. But a newer dialog might close the older one. So, you probably only see the last one. If you want to show all the elements in one dialog, use JSON.stringify()
:
SpreadsheetApp.getUi().showModalDialog(
HtmlService.createHtmlOutput(
JSON.stringify(arr,null,2)
), 'Test'
);
Or if you want to see them one by one, use Utilities.sleep()
:
for (var count = 0; count < 10; count ) {
var htmlOutput = HtmlService.createHtmlOutput(arr[count]);
var arrayOutput = SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Test');
Utilities.sleep(15*1000);
}