我正在通过 EditableGrid 演示修改代码以理解它,并通过 write-to-db 示例达到多个网格的工作示例。我是非程序员和 vba-hack。
在非数据库示例中创建多个网格非常简单。然而,试图复制多个网格的代码/结构,我认为原型和这个对象可能会让我感到困惑
没有 db-link/inline-edit 的多个网格:
window.onload = function() {
editableGrid = new EditableGrid("DemoGridMinimal");
editableGrid.tableLoaded = function() { this.renderGrid("tablecontent", "testgrid"); };
editableGrid.loadXML("grid.xml");
editableGrid = new EditableGrid("DemoGridMinimal2");
editableGrid.tableLoaded = function() { this.renderGrid("tablecontent2", "testgrid"); };
editableGrid.loadXML("grid.xml");
}
带有 db 链接和内联编辑的单个网格:(对示例进行了一些修改)
function DatabaseGrid() {
this.editableGrid = new EditableGrid("demo", {
enableSort: false,
tableLoaded: function() { datagrid.initializeGrid(this); },
modelChanged: function(rowIndex, columnIndex, oldValue, newValue, row) {
updateCellValue(this, rowIndex, columnIndex, oldValue, newValue, row);
}
});
this.fetchGrid();
}
DatabaseGrid.prototype.initializeGrid = function(grid) { grid.renderGrid("tablecontent", "testgrid"); };
DatabaseGrid.prototype.fetchGrid = function() { this.editableGrid.loadXML("loaddata.php"); };
window.onload = function() {
datagrid = new DatabaseGrid();
};
如果它有助于放置整体上下文,最终结果是在单个页面上有多个网格,填充单个 sql 查询,由 html 表单输入 {accounting sql injection} 定义,每个网格显示来自 db 的不同字段
有人可以简单地解释一下原型的上下文和这里的例子吗