jqgrid:如何使用indexeddb(客户端数据库)进行分页

jqgrid:如何使用indexeddb(客户端数据库)进行分页,jqgrid,indexeddb,Jqgrid,Indexeddb,我正在indexeddb本地客户端数据库上工作。我已经编写了jqgrid来呈现数据。 我不能分页 我的要求是: 在jqgrid中,数据类型是本地的,因为它不从服务器获取数据。 我不想用jqgrid缓存所有记录。 假设在索引DB100记录中,在第一次加载时,我只想加载10条记录。当用户按下下一步按钮时,我应该从indexedDB获取下10条记录这是客户端数据库并显示 我可以从indexeddb获取数据,这是jqgrid唯一的问题 你能帮帮我吗 谢谢和问候, Brijesh Baserindexed

我正在indexeddb本地客户端数据库上工作。我已经编写了jqgrid来呈现数据。 我不能分页

我的要求是: 在jqgrid中,数据类型是本地的,因为它不从服务器获取数据。 我不想用jqgrid缓存所有记录。 假设在索引DB100记录中,在第一次加载时,我只想加载10条记录。当用户按下下一步按钮时,我应该从indexedDB获取下10条记录这是客户端数据库并显示

我可以从indexeddb获取数据,这是jqgrid唯一的问题

你能帮帮我吗

谢谢和问候,
Brijesh Baser

indexedDB不提供SQL限制的等价物。停止迭代的唯一方法是维护一个计数器变量,并检查是否已到达该变量。大概是这样的:

var counter = 0;
var limit = 10;
function query() {
  db.transaction('').objectStore().openCursor().onsuccess = function(event) {
    var cursor = event.target.result;
    if(cursor) {
      var value = cursor.value;
      console.log(value);
      counter++;
      if(counter < limit) {
        // only continue if under limit
        cursor.continue();
      }
    }
  }
}
function query() {
  var advanced = false;
  db.transaction('').objectStore().openCursor().onsuccess = function(event) {
    var cursor = event.target.result;

    if(!cursor) {
      return;
    }

    if(!advanced) {
      advanced = true;
      cursor.advance(10);
      return;
    }

    var value = cursor.value;
    console.log(value);
    // ...
  }
}

indexedDB不提供SQL限制的等效项。停止迭代的唯一方法是维护一个计数器变量,并检查是否已到达该变量。大概是这样的:

var counter = 0;
var limit = 10;
function query() {
  db.transaction('').objectStore().openCursor().onsuccess = function(event) {
    var cursor = event.target.result;
    if(cursor) {
      var value = cursor.value;
      console.log(value);
      counter++;
      if(counter < limit) {
        // only continue if under limit
        cursor.continue();
      }
    }
  }
}
function query() {
  var advanced = false;
  db.transaction('').objectStore().openCursor().onsuccess = function(event) {
    var cursor = event.target.result;

    if(!cursor) {
      return;
    }

    if(!advanced) {
      advanced = true;
      cursor.advance(10);
      return;
    }

    var value = cursor.value;
    console.log(value);
    // ...
  }
}

感谢Josh分享此信息。这对于索引数据库很有用。但我的问题是在jqgrid中分页。如果我声明数据类型为local并将all对象传递给jqgrid,那么它本身就是在分页。但我只想提供10条记录,并提供记录总数的信息,例如,当用户单击“下一步”按钮时,我应该会得到回拨。但当我在jqgrid中提供10条记录时,内部记录集的总数仅为10条。你能在jqgrid方面帮助我吗?谢谢Josh分享这个信息。这对于索引数据库很有用。但我的问题是在jqgrid中分页。如果我声明数据类型为local并将all对象传递给jqgrid,那么它本身就是在分页。但我只想提供10条记录,并提供记录总数的信息,例如,当用户单击“下一步”按钮时,我应该会得到回拨。但当我在jqgrid中提供10条记录时,内部记录集的总数仅为10条。你能帮我了解一下jqgrid吗?嘿,看看jsstore-。它为分页提供了跳过和限制选项。它提供分页的跳过和限制选项。