Javascript 无法单击Dojo网格复选框
我正在尝试使用复选框创建Dojo网格(多个列都是复选框),并且我正在尝试使它们始终处于编辑状态 我使用type=dojox.grid.cells.Bool,但我认为它不允许我单击复选框,我试图查看http请求发生了什么,每次单击复选框时,它似乎都会发送未定义的参数。我不知道如何在JsonRestStore中添加其他方法,是否还需要其他方法 代码如下: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
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存储
希望这对别人有帮助