Таблица обновления скрипта 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 здесь

Другие вопросы по тегам