Javascript 无法单击Dojo网格复选框

Javascript 无法单击Dojo网格复选框,javascript,checkbox,dojo,dojox.grid,jsonreststore,Javascript,Checkbox,Dojo,Dojox.grid,Jsonreststore,我正在尝试使用复选框创建Dojo网格(多个列都是复选框),并且我正在尝试使它们始终处于编辑状态 我使用type=dojox.grid.cells.Bool,但我认为它不允许我单击复选框,我试图查看http请求发生了什么,每次单击复选框时,它似乎都会发送未定义的参数。我不知道如何在JsonRestStore中添加其他方法,是否还需要其他方法 代码如下: require([ "dojox/grid/DataGrid", "dojo/store/JsonRest", "dojo

我正在尝试使用复选框创建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

我需要手动连接点击事件吗?

我不知怎么得到了答案

我只是遵循了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存储

希望这对别人有帮助