2014-01-03 2 views
0

Я пытаюсь сделать Dojo Grid с флажком (флажки с несколькими столбцами), и я пытаюсь сделать их alwaysEditing.Dojo Grid CheckBox Нельзя щелкнуть

Я использовал тип = dojox.grid.cells.Bool, но я думаю, что это не позволяет мне щелкнуть этот флажок, я попытался посмотреть, что происходит в HTTP-запросе, и он, кажется, отправляет неопределенные параметры каждый раз, когда я нажимаю установите флажок. Я не уверен, как добавить другой метод в JsonRestStore, есть ли какой-либо другой метод, который необходим?

Вот код:

require([ 
    "dojox/grid/DataGrid", 
    "dojo/store/JsonRest", 
    "dojo/data/ObjectStore", 
    "dijit/form/Form", 
    "dojo/domReady!" 
], function(DataGrid,JsonRestStore,ObjectStore,dijitForm, request){ 
    SalesFormGridStore = new JsonRestStore({target:"/sales/SalesForm/DataRequestedDojoGrid/", idProperty: "OrderNo"}); 
    SalesFormGridDataStore = new ObjectStore({objectStore: SalesFormGridStore}); 
    SalesFormGridStructure = { 
     cells: [ 
      // Column definitions start... 
      { 
       name: 'Delivery?', 
       field: 'DeliveryFlag', 
       width: '40px', 
       styles: 'text-align: center;', 
       editable: true, 
       alwaysEditing: true, 
       type: dojox.grid.cells.Bool, 
       editor: dojox.grid.cells.CheckBox 
      } 
      // Column definitions end.... 
     ] 
    }; 
    SalesFormGridGrid = new DataGrid({ 
     store: SalesFormGridDataStore, 
     structure : SalesFormGridStructure, 
    }, "SalesFormGrid"); 
    SalesFormGridGrid.startup(); 
}); 

При загрузке формы или если вы перечисляете за пределами диапазона, то запрос на обычный запрос.

/sales/SalesForm/DataRequestedDojoGrid/ 

Но когда я нажимаю на этот флажок, он не позволяет мне щелкнуть по нему, и он просто запросит следующий запрос.

/sales/SalesForm/DataRequestedDojoGrid/1 

/sales/SalesForm/DataRequestedDojoGrid/2 

Должен ли я связать событие щелчка вручную?

ответ

0

Я как-то получил ответ.

Я только что последовал примеру учебника кодекса here.

В основном, я использовал хранилище памяти и объект хранения кеша. Перед тем, как просто связать json-хранилище с хранилищем объектов.

SalesFormGridMemoryStore = new MemoryStore({ idProperty: "SalesNo" }); 
SalesFormGridJsonStore = new JsonRestStore({target:"/sales/SalesForm/DataRequestedDojoGrid/", idProperty: "SalesNo"}); 
SalesFormGridCacheStore = new CacheStore(SalesFormGridJsonStore, SalesFormGridMemoryStore); 
SalesFormGridObjectStore = new ObjectStore({objectStore: SalesFormGridCacheStore}); 

Поскольку нет кэш-памяти и хранить до, все редактирования должен быть напрямую отправить к главному магазину, который является магазин JSON.

Надеюсь, это поможет кому-то.