Изменение окраски произвольных ячеек в таблицах данных - PullRequest
0 голосов
/ 08 апреля 2011

У меня есть таблица DataTables. Вот упрощенная версия того, что я имею в результате:

$('#dt_list').html( '<table cellpadding="0" cellspacing="0" border="1" class="content" id="test"></table>' );

$('#test').dataTable( {
    "bAutoWidth": true
    "aaData": [ 'val1', 'val2', 'val3' ],
    "aoColumns": [ 'col1', 'col2', 'col3' ],

});

...stuff here..

<div id='dt_list'></div>

Массивы JavaScript генерируются скриптом Python на основе значений, извлеченных из базы данных MySQL (в противном случае это было бы неактуально, но я просто хочу убедиться, что люди, читающие это, знают, что я динамически генерирую массивы контента вне JavaScript ).

Как я уже сказал, данные, отображаемые в этой таблице, являются результатом запроса MySQL, который затем обрабатывается Python и выводится в JavaScript на странице, сгенерированной Python.

В моем коде Python есть логика, позволяющая определить не только то, какое значение попадает в ячейку, но также требует ли подсветка ячейки (через цвет фона ячейки). Мой вопрос здесь, как я могу произвольно изменить цвет в определенных ячейках DataTable?

Так как большая часть моей логики написана на Python, мне не нужны какие-либо очень причудливые или элегантные оценки в JavaScript, мне просто нужен какой-то способ в JavaScript для манипулирования свойством CSS ячейки или каким-либо другим способом обозначения разные расцветки.

Я заглянул в fnRender и, похоже, моя лучшая надежда. Тем не менее, на данный момент у меня есть две проблемы: (а) я не могу найти способ манипулировать цветом из функции fnRender (кажется, что он более нацелен на манипулирование самим контентом) и (б) я не уверен, как Я бы смог заставить fnRender узнать результат операции Python, чтобы определить, нужна ли специальная окраска.

Есть что-то, что я пропускаю? Или, может, мне просто нужно переосмыслить, как я к этому подхожу? В идеале мне бы хотелось, чтобы это решение не включало переделку способа, которым я это делаю, но я изменю способ генерации данных или передам его, если нужно. Я изменяю некоторый существующий код и предпочел бы не связываться с существующим дизайном, а выбрать кратчайший и самый простой способ преобразования выходных данных его таблицы в DataTables, и часть этого заключается в создании определенных ячеек с измененным цветом.

1 Ответ

1 голос
/ 08 апреля 2011

Ваш обратный вызов "fnRender" может возвращать содержимое ячейки, завернутое в маркер <span> или <div> (или что-то еще).Затем вы можете использовать функцию fnDrawCallback, чтобы найти их и пометить родительский элемент <td> классом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...