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.
Надеюсь, это кому-нибудь поможет.