Метод nextPage () - не работает - PullRequest
0 голосов
/ 17 января 2019

У меня есть источник данных, который содержит> 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;
    }
  }
} 

1 Ответ

0 голосов
/ 17 января 2019

Вместо того, чтобы циклически проходить по каждой записи и выполнять запрос к каждой отдельной записи, я бы предложил ввести виджет текстового поля в тот же источник данных и установить привязку:

@datasource.query.filters.registration._equals

Затем загрузите источник данных нажатием кнопки или событием onValueEdit виджета с текстовым полем. Если регистрационное значение существует, оно, вероятно, будет возвращено в таблицу, а если его не существует, никакие записи не будут возвращены.

...