Dojo Grid CheckBox Не может быть нажата

Я пытаюсь сделать сетку Dojo с флажком (флажок несколько столбцов), и я пытаюсь сделать их всегда редактирования.

Я использовал type = 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

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

1 ответ

Решение

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

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

В основном я использовал хранилище памяти и объект хранилища кеша. Прежде чем просто связать магазин 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.

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

Другие вопросы по тегам