我正在通过 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 的不同字段
有人可以简单地解释一下原型的上下文和这里的例子吗