1

我有一个 UiApp,它创建了一些将数据写入特定电子表格的表单元素。现在我想将 UiApp 小部件加载到 htmlService 模板中,但我不知道该怎么做。

我的 doGet 函数加载基本模板,doGetApp 构建 UiApp:

function doGet() {
  return HtmlService.createTemplateFromFile('base_template').evaluate();
}
function doGetApp() {
  // creates input forms for a spreadsheet (the following is just an example
  var app = UiApp.createApplication();
  var tabPanel = app.createDecoratedTabPanel();
  var flowPanel1 = app.createFlowPanel();
  var flowPanel2 = app.createFlowPanel();

  tabPanel.add(flowPanel1, "Create New Projects");
  tabPanel.add(flowPanel2, "Edit Projects");
  app.add(tabPanel);

  // return app; // <<<< original doGet function returned the app

  // testing different ways of returning the UiApp 
  return HtmlService.createHtmlOutput(app); // this displays the text "HtmlOutput"
}

我的 base_html 模板现在非常简单:

<html >
<?!= getCSS("css_js"); ?>
  <body>
  <h1>Template Test</h1>
  <?!= doGetApp(); ?>
  </body>
</html>

我对此尝试了一些变体,但结果通常是相同的:显示描述对象的文本输出,而不是显示 UiApp。(getCSS 函数工作正常)

目标是能够轻松加载我自己的一些 css/js 以及 UiApp,以便轻松地设置表单/结果内容的样式。我对此很陌生,所以我完全有可能以错误的方式处理这个问题。感谢任何指针。谢谢!

-格雷格

4

1 回答 1

2

现在,您要么使用 html 服务,要么使用 uiapp - 你不能将两者结合起来

于 2012-08-27T03:21:11.940 回答