我有一个处理程序函数,它使用电子表格中的值更新一个非常大的UI。工作表的rowindex来自callbackElement e.parameter.hidden
(隐藏是保存值的小部件),并且我在函数中递增/递减。
我有另一个处理函数,它在电子表格中搜索字符串值,并返回一个我分配给同一隐藏小部件的rowindex。
如果我首先触发'搜索'处理程序 和然后'显示'处理程序,我的UI已更新了'找到'数据,这很不错但是需要在两个不同的按钮上单独点击两次。
现在我的问题:我怎样才能在'搜索处理函数'中包含对'display handler'的调用并传递所有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
}
我希望这个问题足够清楚(这不容易解释),如果不是,请问; - )
答案 0 :(得分:1)
为什么不直接将rowIndex存储为CacheService属性?我正在使用它取代隐藏字段和隐藏文本框取得了很大成功。
您可以随时随地调用它们并在任何地方进行修改。
答案 1 :(得分:1)
e只是一个json数据,您可以通过其键进行操作。
代码骨架就像
searchHandlerFunction(e){
//Your all other sttements
//Assign the new value to hidden parameter
e.parameter.hidden = <your new value>;
DisplayFunction(e);
}