我正在创建一个Javascript应用程序,它使用dojox / grid / EnhancedGrid和几个插件,包括Cookie插件。根据我见过的所有文档和论坛帖子,它应该在网格被销毁时自动创建一个cookie。不幸的是,它并没有为我做到这一点。我可以通过调用Document.cookie =“key = value”手动创建cookie;我甚至尝试调用dojo.destroy方法来强制编写代码。
我的应用程序使用AMD包含所需的库,我将大部分Javascript分成单独的Javascript文件,包括创建增强网格和设置插件的代码。每个其他插件都按预期工作,包括DnD,间接选择,菜单和分页。我很难接受下一步的尝试,因为没有很多论坛帖子中的人和我有同样的问题。关于如何排除故障的任何建议都非常感谢。
这是我用来创建网格的代码。
/* Begin Setting up table */
var data = {
identifier : "BARCODE", //This field needs to have unique values
label : "BARCODE", //Name field for display. Not pertinent to a grid but may be used elsewhere.
items : []
};
var store = dojo.data.ItemFileReadStore({data:data});
/*set up the layout */
var layout = [
{name: 'File No', field: 'FILENUMBER', width: '125px'},
{name: 'Pg No', field: 'SHEET_NUMBER'},
{name: 'Pg Ttl', field: 'SHEET_TOTAL'},
{name: 'Print Date', field: 'PRINT_DATE', width: '80px'},// formatter: formatDate},
{name: 'Project Name', field: 'PROJECT_NAME', width: '400px'},
{name: 'Barcode', field: 'BARCODE', width: '125px'},
{name: 'Community', field: 'COMMUNITY', width: '125px'},
{name: 'Title Block', field: 'TITLE_BLOCK'},
{name: 'Com Date', field: 'ACCEPTANCE_DATE'},
{name: 'Archive', field: 'ARCHIVE_DRAWER'},
{name: 'Com No', field: 'INSTRUMENT_NUMBER'}
];
/* create the new grid */
var grid = new dojox.grid.EnhancedGrid({
id: 'grid',
store: store,
structure: layout,
rowSelector: '20px',
plugins:{
dnd: true,
indirectSelection:{headerSelector:true, width:"40px", styles:"text-align:center;"},
pagination: {
pageSizes:["10", "25", "50", "All"],
description: true,
sizeSwitch: true,
pageStepper: true,
gotoButton: true,
maxPageStep: 4,
position: "top"
},
menus: menusObject,
cookie: {
columnOrder: true
}
}
},
document.createElement('div'));
/* append the grid to the div */
dojo.byId("gridDiv").appendChild(grid.domNode);
/* Call startup() to render the grid */
grid.startup();