如何从Qlik Sense 3.0中的字段接收数据?

时间:2016-09-29 11:10:44

标签: javascript field qliksense

我正在为Qlik Sense 3.0应用程序进行extesion。

我在qlik社区上做了同样的话题,但没有得到答案。

https://community.qlik.com/thread/231938

我希望有人能在这里帮助我。

确定。我有一个功能:

function whenMonthsSelected(fieldName){  

    var field = app.field(fieldName);  

    var fieldData = field.getData();  

    console.log("fieldData");  
    console.log(fieldData);  

    console.log(fieldData.rows.length);  
} 

当我执行它时,我在浏览器中收到:

enter image description here

在结果中我有0个元素的数组。

我的问题是...... 我该怎么做才能接收12行数组?

此数组存储12行(有关月份的信息)。我可以通过点击树来接收数据。但是在控制台中我总是接收带有0元素的数组。

感谢。

2 个答案:

答案 0 :(得分:0)

您需要绑定到OnData事件。数据以异步方式加载到行集合中。以下打字稿示例显示了这个想法。

getField(field: string): Promise<any> {
        let self = this.app;
        return new Promise(function (resolve, reject) {
            try {                    
                let reply: any;

                let listener = function () {
                    self.field(field).OnData.unbind(listener); 
                    resolve(reply.rows);
                }

                self.field(field).OnData.bind(listener); 
                reply = self.field(field).getData();
            } catch (ex) {
                reject(ex);
            }
        }); 
    }

答案 1 :(得分:0)

看起来这段代码可以满足您的需求:

var fieldValues = app.field("SomeFieldName").getData();
fieldValues.OnData.bind(function () {
    console.info("waitedForData>>>",fieldValues.rows);
});