2013-08-01 2 views
1

В настоящее время я использую jQuery Datatables для отображения реляционных данных между несколькими таблицами, jEditable для редактирования значения таблицы и UI Dropable для сортировки. Но для жизни я не могу понять, как затенять ряды на основе отношения. Пример:Динамически затененная строка данных на основе отношения MySQL

ID | Title | Parent 

1 | Main Page  | 0 
2 | Main Page 2 | 0 
3 | Sub of Main | 1 
4 | Sub of Main 2 | 2 

Я хотел бы тень идентификаторов 1 и 2 один цвета, а идентификаторы 3 и 4 другого цвета. Таблица уже работает отлично, но устанавливаю ли я вложенный класс что-то наподобие «родительский» и «дочерний» для цвета в css?

EDIT

Пробовал с помощью вложенных классов, а затем в CSS затенения тех ТД, но он по-прежнему недобросовестный к ThemeRoller даже после того, как мой CSS помещается после темы ThemeRoller.

ответ

1

Возможно, что стиль themeroller имеет более конкретный селектор. Возможно, вам придется поместить хромой важный бит в свои стили.

0

При получении вашего JSON от сервера

{ 
    "sEcho": 1, 
    "iTotalRecords": "57", 
    "iTotalDisplayRecords": "57", 
    "aaData": [ 
    [ 
     "Gecko", 
     "Firefox 1.0", 
     "Win 98+/OSX.2+", 
     "1.7", 
     "A" 
    ] 
] 
} 

вам нужно получить дополнительные данные, так что ваш JSON выглядит

{ 
     "sEcho": 1, 
     "iTotalRecords": "57", 
     "iTotalDisplayRecords": "57", 
     "aaData": [ 
     [ 
      "Gecko", 
      "Firefox 1.0", 
      "Win 98+/OSX.2+", 
      "1.7", 
      "<section data-hues='blue'>A</section>" 
     ] 
    ] 
    } 

Вышеуказанные дисплеи A плюс у вас есть доступ ко всей информации в data-* Например,

php

<?php 
$mysqli = new mysqli("localhost", "root", "", "world"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$query = "SELECT * FROM City limit 10 "; 

if ($result = $mysqli->query($query)) { 

$output = array(
     "sEcho" => "300", 
     "iTotalRecords" => "321", 
     "iTotalDisplayRecords" => "10", 
     "aaData" => array() 
    ); 

    while ($row = $result->fetch_assoc()) {  
    $output['aaData'][] = array($row["ID"],$row["Name"],$row["CountryCode"],$row["District"],'<section class="red" data-sn="'.$row["ID"].'">'.$row["Population"].'</section>'); 
    } 

    echo json_encode($output); 

    /* free result set */ 
    $result->free(); 
} 

/* close connection */ 
$mysqli->close(); 
?> 

на стороне клиента, есть класс .red{background-color:red;}

Я даже попробовал это, и это works.Cheers.

Смежные вопросы