我在浏览器中使用QlikView有一个问题:我有一个列表框,并尝试使用初始化脚本访问它。
该脚本是使用其BodyOnLoadFunctionNames
参数使用InitWorkbench函数注册的。到目前为止,这是有效的,初始化器在启动时运行。
在初始化器中,我尝试执行以下操作:
var doc = Qv.GetCurrentDocument();
var listbox = doc.GetObject('LB01');
之后,当我看一看listbox.Type
时,不幸的是它是undefined
。如果我延迟这个查询的执行,它会正确地显示为LB
,因此查询显然是有效的-但只有当它被延迟执行时才有效。
因此,很明显存在时间问题,而且似乎初始化器运行得太早(或者我做错了什么)。
谁能指出解决方案是什么(或者给我一个提示我哪里做错了)?
发布于 2013-05-06 22:05:49
好的,我已经找到了解决方案:内部更新函数还没有运行,所有的值只在这个函数运行一次后才可用,所以你需要提供一个对GetObject
(在更新函数之后调用)的调用的回调:
var doc = Qv.GetCurrentDocument();
var listbox = doc.GetObject('LB01', function () {
console.log(listbox.Type); // => 'LB'
});
https://stackoverflow.com/questions/16400148
复制相似问题