我有一个包含> 1000条记录的数据源。当前的查询页面大小为100。
我需要遍历每个项目,并尝试查找与用户提供的输入匹配的记录。但是,用例非常简单,我似乎无法让脚本在页面之间循环,因此它仅以100页的查询页面大小完成循环,因此仅搜索前100条记录。
我尝试放入
app.datasources.Vehicles.nextPage();
在for循环结束时,然后在新页面上再次调用regoExists,但是它不起作用。 nextPage()如何在客户端脚本中使用?
function regoExists(rego){
var regoUp = rego.toUpperCase();
regoUp = regoUp.trim();
ds = app.datasources.Vehicles.items;
for (var i in ds){
if (ds[i].registration === regoUp){
console.log(ds[i].registration + " equals " + regoUp);
app.datasources.Vehicles.query.filters.registration._equals = regoUp;
return true;
} else {
console.log(ds[i].registration + " does not equals " + regoUp);
continue;
}
}
}
答案 0 :(得分:1)
我建议您不要在每个记录之间进行遍历并在每个记录上执行查询,而建议在同一数据源中引入一个文本框小部件并将绑定设置为:
@datasource.query.filters.registration._equals
然后通过单击按钮或通过文本框小部件的onValueEdit事件加载数据源。如果注册值存在,则大概会在表中将其返回,如果注册值不存在,则不会返回任何记录。