2012-09-14 69 views
0

在Google協作平臺中,我試圖在html表格的行中添加一個由文本框和提交按鈕組成的簡短表單。表格中每一行的表格的一個副本。我正在嘗試爲每個表格行收集輸入數據。獲取UI表單在GAS中的HTML表格中呈現

HTML文件:

<html> 
    ... 
    function showForm(){ // https://developers.google.com/apps-script/gui_builder#including 
    var app=UiApp.createApplication(); 
    app.add(app.loadComponent("myGui")); 
    return app; 
    } 
    ... 
    <table><tr><td><?=showForm()?></td></tr></table> 
    ... 
</html> 

然後我用HtmlService.createTemplateFromFile()方法調用從我的doGet()函數.html文件在我.GS文件。

表格正確呈現,除非我希望表單出現,否則我將獲取文本/字符串「UiApplication」而不是文本框+提交按鈕組合。

我在正確的軌道上嗎?請幫忙。

回答

0

這是錯誤的軌道。

不能從HtmlService了UiApp混合&匹配組件。 GUI Builder是一個打包的UiApp組件。

只需粘貼FlexTable並將表格單元填充到構建器組件。但是,不要忘記設置一個前綴:

var flextab = app.createFlexTable(); 
for (row=0; ...) 
    for (col=0; ...) 
    flextab.setWidget(row, col, app.loadComponent("myGui", {"prefix": "row"+row+"col"+col}); 

順便說一句 - 你只能在你的web應用程序一個UiInstance。請致電UiApp.createApplication()一次。如果您稍後需要UiInstance,則始終可以通過UiApp.getActiveApplication()找到它。

+0

非常感謝。 createFlexTable()在正確的方向上絕對是有用的一點! =] – Mowzer