Элемент Datatable неактивен

У меня в скрипте таблицы генерятся при помощи функции:
function insertTable(tname, listCol, obj){

var idname="inpagetable["+tname+"]";
 inpagetable[tname] = webix.ui({
            view:"datatable",
            visibleBatch:1,
            scroll:"xy",
            container: "table"+tname,
            id: idname,
            css: "webix_header_border",
            columns: listCol,
            data: obj,
            select: "column",
            tooltip: true,
            resizeColumn:true,
            autoheight:true,
            autowidth:true,
        });

        button[tname] =webix.ui({
            container: "button"+tname,
            view:"toolbar",
            elements:[
                {
                    view:"button", value:"Add main column", width:150,
                    click(){
                    addMainColumnToSummarytable(idname);
                    }
                },
                {                        view:"button", value:"Add column", width:150,
                    click(){
                    addColumnToSummarytable(idname,obj);
                    }}
            ]
        });

}

Количество таблиц зарание неизвестно. Все таблицы строятся и отображаются корректно. Но активна только последняя таблицы. Во всех предыдущих не работаю ни выделение, ни пейджинг, ни раскрытие столбцов через свойство batch.
В консоле никаких ошибок не выводится.

Таблицы выводятся в ранее сгенерированный div контейнер.
Собственно вопрос, как сделать активными все таблицы на странице.

Tagged:

Comments

  • попробуйте колонны задавать используя не константу listCol, а какой нибудь метод, возвращающий сгенерированный объект.

    function getCols(){
        var cols = [...];
        ...
        return cols;
    }
    ...
    {
        columns: getCols()
    }
    

    конфиги колонн в таблицах не должны.переиспользоваться.

  • У меня для каждой таблицы свой набор колонок, они не совпадают и уникальные. Они генерируются до инициализации таблицы. Но я попробую подставить эту функцию в инициализацию.

  • Еще один вопрос в дополнение. У меня в каждой таблице набор колон разный, но как минимум 1 колонка должна у всех совпадать, что бы в дальнейшей по ней делать сводную таблицу, допускается ли в конфиге разных таблиц использование одинаковых столбцов?

  • edited September 10

    допускается ли в конфиге разных таблиц использование одинаковых столбцов?

    во избежание конфликтов, лучше не использовать конфиги столбцов повторно

  • Попробовал задавать конфиг через функцию columns: getCols(), добавил ко всем id номер таблицы по порядку, что бы получить гарантированно несовпадающие id(Пример конфига колонки: id: "_rec/1", template: "#_rec#", header: "_rec", adjust: true), в конечно итоге попробовал загрузить 2 таблицы с полностью несовпадающими полями. Все равно, в результате активна только 1 таблица.

  • попробуйте создать пример, повторяющий ошибку.

  • Нашел некое подобие выхода, пробую выводить таблицы через элемент scrollview. Так все таблицы активны, но выводятся не в указанных див, а в конце страницы. Кнопки управления правда при таком способе вызывают ошибку выполнения скрипта webix

    https://snippet.webix.com/xeir00go

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!