基于MySQL Relation动态着色数据表行

时间:2013-08-01 22:28:24

标签: jquery css datatables

我目前正在使用jQuery Datatables来显示多个表之间的关系数据,jEditable用于编辑表值,而UI Dropable用于排序。但是对于我的生活,我无法理解如何根据关系遮蔽行。例如:

ID | Title | Parent

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

我想将ID的1和2一种颜色,ID 3和4颜色不同。该表已经正常工作,但我是否设置了一个类似“父”和“子”的嵌套类来在css中着色?

修改

尝试使用嵌套类,然后使用css着色那些TD,但即使我的css放在themeroller主题之后,它仍然默认为themeroller。

2 个答案:

答案 0 :(得分:1)

themeroller样式可能有一个更具体的选择器。 你可能不得不把蹩脚的重要部分放在你的风格中。

答案 1 :(得分: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;}

我甚至试过这个并且它有效。欢呼。