2013-09-19 5 views
0

новое для DOJO..использование JsonRest для получения данных из базы данных ... я дал диапазон для отображения 0-1000 из 50000 ... но он отображает полные данные ... ... требование заключается в том, что, когда это 1000 загружается при прокрутке следующий запрос идет на сервер и остальные данные будут отображаться .... пожалуйста, помогите я попробовал много ......использование заголовка диапазона в jsonrest для подкачки

мой код

myStore = dojo.store.Cache(dojo.store.JsonRest({ 
     target : "myip7080/GridExample/string" 
    }), dojo.store.Memory()); 


    myStore.query({ 
     start: 0, 
     count: 1000 

     }).then(function(results){ 

      alert(results);    

     }); 


    grid = new dojox.grid.DataGrid({ 
     store : dataStore = dojo.data.ObjectStore({ 
      objectStore : myStore 
     }), 
     structure : [ { 
      name : "SNO", 
      field : "sno", 
      width : "100px", 
      editable : true 
     }, { 
      name : "SNAME", 
      field : "sname", 
      width : "100px", 
      editable : true 
     }, { 
      name : "SALARY", 
      field : "salary", 
      width : "200px", 
      editable : true 
     } ] 
    }, "target-node-id"); // make sure you have a target HTML element with this id 
    grid.startup(); 
    dojo.query("#save").onclick(function() { 
     dataStore.save(); 
    }); 
}); 

ответ

0

dojo/store/Memory::query() принимает два параметра:

  1. Объект, который запрашивает данные
  2. QueryOptions объект, содержащий параметры для данного запроса (необязательно)

Вы можете запросить определенные записи из данных, как это:

myStore.query(
    { name: "John Doe" } 
); 
//returns all rows with name="John Doe" 

Вы надеваете» t есть, чтобы задать конкретный запрос. Если вы хотите, чтобы все ваши данные, просто сделать myStore.query("");

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

myStore.query(
    { name: "John Doe" }, 
    { start: 0, count: 1000 } //return 1000 results, starting at the beginning 
); 

the documentation for dojo/store/memory::query() См.

+0

@Desertly tanq для ответа ур я пробовал это, но требование в том, что мне нужно загрузить 1000 первых тысяч, пока я прокручиваю, мне нужно попасть в базу данных и получить пыльник 1000 ...... для этого, как я могу узнать начало и считать в сервлете от клиента как ограничение и смещение, чтобы написать запрос выбора для таблицы ....... plz ответьте на это я много борюсь – user2794174

+0

Вы на правильном пути. Проверьте [JsonRestStore] (http://livedocs.dojotoolkit.org/dojox/data/JsonRestStore) ([API] (http://dojotoolkit.org/api/dojox/data/JsonRestStore)) и/или [OnDemandGrid ] (http://dojofoundation.org/packages/dgrid/tutorials/grids_and_stores/) для ленивой загрузки. Дайте эти снимки и обновите свой вопрос с помощью нового кода. Будет легче помочь, если вы попробуете это сначала. :) – Bucket

+0

Здравствуйте, у меня такая же проблема, и я не могу ее решить из ваших инструкций. Не могли бы вы дать дополнительную информацию? Где указать счет в исходном коде вопросов? – WoodenKitty