0

我有一个处理函数,它使用电子表格中的值更新一个相当大的 UI。工作表的行索引来自一个回调元素e.parameter.hidden(隐藏的是保存值的小部件)并且我在函数中递增/递减。

我有另一个处理函数,它在电子表格中搜索字符串值并返回我分配给同一个隐藏小部件的 rowindex。

如果我触发“搜索”处理程序,然后触发“显示”处理程序,我的 UI 会更新为“找到”数据,这很好,但需要在两个不同的按钮上单独单击两次。

现在我的问题是:如何在“搜索处理程序函数”中包含对“显示处理程序”的调用并传递所有 e.parameters修改e.parameter.hidden唯一的值?

我知道e是一个有很多键和值的对象,但我不知道如何操作其中的一个值......

搜索处理程序的代码很短,如下所示:

function findname(e){ // this function is called by a handler triggered by a keypress on  a textBox
  var app = UiApp.getActiveApplication();
  var hiddenD = app.getElementById('hiddenD');
  var str = e.parameter.find ; // find is the textBox's name
  var found = point(str);// point() is a function that returns the rowindex of the found value
  hiddenD.setValue(found);// hiddenD is the hidden widget that I want to 'manipulate'
  nextitem(e);// nextitem is the function that updates the UI and that is normally called by a handler on another button
return app
}

好吧,我希望这个问题足够清楚(这不容易解释),如果不是请问;-)

4

2 回答 2

1

为什么不简单地将 rowIndex 存储为 CacheService 属性?我使用它来代替隐藏字段和隐藏文本框取得了很大的成功。

您可以从任何地方调用它们并在任何地方修改它们。

于 2012-07-30T06:22:11.667 回答
1

e 只是一个 json 数据,您可以通过它的键来操作它。

代码骨架就像

searchHandlerFunction(e){
//Your all other sttements
//Assign the new value to hidden parameter
e.parameter.hidden = <your new value>;
DisplayFunction(e);
}
于 2012-07-30T06:35:29.597 回答