Таблица обновления скрипта Google Spreadsheet внутри ModelessDialog
Итак, я пытаюсь создать "окно поиска" с помощью "ModelessDialog", основная идея заключается в следующем
1) Пользователь запускает макрос, который открывает ModelessDialog со следующими полями: автозаполнение, кнопка поиска и таблица (пустая, только с заголовками) 2) Поле "Автозаполнение" - это то место, где пользователь может ввести "ID" (эта часть уже выполнено) 3) Идея в том, что когда выбран идентификатор, нажмите кнопку "Поиск", чтобы запустить некоторые другие макросы в фоновом режиме, затем вернет данные, необходимые для заполнения таблицы и обновления текущего "ModelessDialog"
Идея сделать это таким образом заключается в том, что я не хочу открывать / отображать всю страницу, так как я хочу быть максимально быстрым и без необходимости "прыгать" между окнами.
Любой совет? (я не добавляю никакого кода, так как у меня нет проблем с остальной частью кода /html, поскольку автозаполнение заполняется автоматически, а кнопка запускает макрос и возвращает некоторые данные)
Также я новичок в javascript и html (я следил за учебниками, чтобы заставить другие части работать:D)
1 ответ
Клиентский JS-код, который находится в немодальном диалоге, может вызывать серверные функции через google.script.run. Серверные функции могут получать данные, необходимые для заполнения таблицы, выполнять интерполяцию строк и возвращать HTML-строку клиенту. Просто установите функцию обратного вызова для google.script.run, чтобы изменить содержимое вашей таблицы, полученное с сервера.
Немодальный диалог HTML
<div id="myTable">
<table>
<!-- table contents -->
</table>
</div>
JS-скрипт для диалога:
google.script.run.withSuccessHandler(function(html){
var tableContainer = document.getElementById("myTable");
tableContainer.innerHTML = html;
}).getTableData();
Подробнее о взаимодействии клиент-клиент-сервер здесь Подробнее о шаблонном HTML здесь