我会尽力提供一些建设性的信息。
虽然不是最好的库,但您可以使用 dhtmlx 做一些您需要的事情:
1.1 加载指示器:onXLS 和 onXLE 事件在传输开始和结束时发出信号。dhxLayout 对象可以在特定单元格或整个文档上显示进度指示器。
grid.attachEvent("onXLS", function() { dhxLayout.cells("b").progressOn(); });
grid.attachEvent("onXLE", function() { dhxLayout.cells("b").progressOff(); });
您还可以在这些事件中使用自己的加载指示器。
1.2 同样,您可以使用 onXLE 事件手动添加行信号,表明没有可用数据。
grid.attachEvent("onXLE", function() {
if (grid.getRowsNum() == 0) {
grid.addRow('noitems', ["No items!"]);
//grid.setColspan('noitems', 1, 2);
}
});
1.3 从字符串加载本地 XML 应该可以工作,并且 XML 岛仅在 IE iirc 中受支持。确实,dhtmlx 文档很臭,加载格式文档遍布论坛、wiki 和示例。对于这种情况,请检查:
http://docs.dhtmlx.com/doku.php?id=dhtmlxgrid:data_loading
1.4 我同意你对文档的看法(这真的很糟糕,并且不符合我对成熟库的期望),但至少我发现论坛非常支持。
也就是说,在 Java 和 Struts2 中编码时,我最喜欢的是 DisplayTag+jQuery 插件组合(参见http://www.weinfreund.de/struts2-jquery-showcase/index.action中的“网格” )。除了 Java,我最近听到的其他纯 JS 解决方案是 jmesa ( http://code.google.com/p/jmesa/ ) 和 DataTables ( http://datatables.net/ )。
祝你好运!