如何从另一个UI加载UI(重定向)

时间:2013-11-17 21:48:23

标签: google-apps-script

我可能会以错误的方式思考这个问题......但我使用UiApp构建了2个不同的UI;

第1部分:“项目索引UI”,其中包含所有已批准/待定项目的列表。

  • 我为每个项目都有唯一的ID,在另一个电子表格中有一行与每个ID相关的信息。

示例:项目ID 20857确实指向“项目电子表格”中的第4行。

第2部分:“项目详情用户界面”,它实质上是一个界面,用于编辑电子表格中的值并使用新信息更新日历事件。


目标是为我的老板提供当前系统中所有项目的索引。然后,根据需要,他可以单击项目ID以加载另一个显示该ID信息的UI。

所以:我正在考虑将项目名称作为锚点,其中嵌入了ID,例如:

var anchor = app.createAnchor("Some Project", "https://sites.google.com/site/mySite/asdf&ID=20857");

其中asdf是“项目详情用户界面”所在的页面。然后我将解析URL以获取ID,并以这种方式将信息加载到项目详细信息UI中。


我在想的是,方式过于复杂,并且有一种更简单的方法可以实现这一目标,但我只是不确定。

是否有更好的方法来生成具有通过原始UI中的某种“链接”获得的特定数据的新UI?

解决方案TabPanel包含2个标签 - 每个标识符用作对电子表格中一行信息的引用。单击一个按钮时,serverHandler会调用一个以该ID作为参数的函数,该函数会在第二个选项卡中填入该ID的信息。

以下是UI的两个插图以及它们应如何运作:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:3)

如果你已经编写了它们并且不想改变太多,那么它可以正常工作但它可能有点慢,因为每个链接点击打开一个新的选项卡,加载网站和第二个应用程序脚本,这可能很慢。 如果你想要更快的东西和更简化的界面,你应该更改你的代码,这样你就可以在第一个内部加载第二个gui,例如使用一个stackpanel或一个当你点击它并放入第二个ui时扩展的列表。为此,您需要合并两个项目源。