Я постараюсь предоставить некоторую конструктивную информацию.
Хотя это не лучшая библиотека, вы можете сделать некоторые вещи, которые вам нужны, с помощью 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 воняет, а документы по формату загрузки распространяются по всем форумам, вики и образцам. Для этого случая, проверьте это:
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/).
Удачи!