V15 数据管理器如何加载数据
var dataSourceOption = {remote: {
read: {
url: './dataList.do'
}
}
};/*url'./dataList.do'返回下列信息[{"code":"01","name":"工程"},{"code":"02","name":"生产"}]*/
var dataManager = new GC.Data.DataManager();
var myTestTable = dataManager.addTable("myTest", dataSourceOption);
myTestTable.fetch();
sheet.setFormula(0.0,'=QUERY("myTest#1","name")');//显示0myTestTable.search("01","code");//返回[]
感觉myTestTable数据未加载,但myTestTable.fetch()执行后跟踪后台相应数据已返回。请问数据加载还有哪些步骤需要执行吗?
pele 发表于 2024-11-21 14:39
您好!
可能我描述的不清晰,我目前的需求仅是获取table的数据。在前台进行加工,之后再进行其他处理。
...
search()方法返回的结果为数组数据,需要通过obj.mc访问查找结果,在此之前当然也要判断obj引用的数组中是否有数据。fetch()方法是异步方法,调用后返回了Promise,可以在此基础上通过Promise.then()执行您代码片段中的最后两行。如下动图所示:
了解到您使用的是15版本,但不确定具体版本,我用15.2.0版本测试了,附上demo,供您参考。
您好!理解您需要将通过URL获取的数据按照既定的绑定路径填充至Worksheet。因为您新创建了一个DataManager实例,该实例未与Workbook实例绑定,导致数据可以正常访问但是未能填充至Worksheet。您可以通过Workbook:dataManager()获取与Workbook实例关联的DataManager实例,通过该DataManager实例管理数据。 Wilson.Zhang 发表于 2024-11-21 11:48
您好!理解您需要将通过URL获取的数据按照既定的绑定路径填充至Worksheet。因为您新创建了一个DataManager ...
您好!
可能我描述的不清晰,我目前的需求仅是获取table的数据。在前台进行加工,之后再进行其他处理。
如下段代码:
var dataManager = new GC.Data.DataManager();
var ds = [{"bm":"01","mc":"工程"},{"bm":"02","mc":"生产"}];
var myTable = dataManager.addTable("mt", {
data: ds
});
myTable.fetch();
var obj = myTable.search("01","bm");//结果为[]
sheet.setValue(0,0,obj .mc);//想要显示 工程
我想在定义的myTable中获取我需要的数据。但结果为空。这段语句在浏览器控制台执行没问题。
但放在程序里执行显示结果为[]
Wilson.Zhang 发表于 2024-11-22 11:09
search()方法返回的结果为数组数据,需要通过obj.mc访问查找结果,在此之前当然也要判断obj引用的数组 ...
理解了,谢谢! pele 发表于 2024-11-25 09:26
理解了,谢谢!
不客气。问题即已解决,那就结帖了。如有新问题,欢迎发新帖沟通。
{:5_110:}
页:
[1]