1

有两种方法可以在DataTables中显示 sql 数据。第一个是用循环构建一个 html 表。第二个选项是使用sAjaxsource

用第一种解决方案改变每个颜色<tr>是微不足道的,如下所示:

<table>
<thead>
  <tr>
    <th>id</th>
    <th>Customer Number</th>
    <th>WCODE</th>
  </tr>
</thead>
<tbody>
  <?php  while ($row = mysql_fetch_array($result)) :?>

    <tr style="background-color:<?=$row['COLOR']?>;" >
      <td ><?=$row['id']?></td>
      <td ><?=$row['customer_number']?></td>
      <td ><?=$row['WCODE']?></td>
    </tr>

  <? endwhile; ?>
</tbody>
</table>

如您所见, $row['COLOR'] 是每一行的颜色。

我想使用第二个选项sAjaxsource来完成相同的结果。<tbody>是空的,我无法控制每个 tr。没有tr。

有任何想法吗?谢谢。

4

2 回答 2

0

使用简单的php,改变:

<tr style="background-color:<?=$row['COLOR']?>;border:1px solid;" >

echo "<tr style=\"background-color:".$row['COLOR'].";border:1px solid;\" >";
于 2013-02-05T16:06:00.893 回答
0

查看他们的文档,似乎没有一种干净或简单的方法可以做到这一点。Note: I'm not familiar with this plugin. And I briefly skimmed their docs.

我可能会建议,尽管可能有更好的解决方案,但在您返回的一个单元格中(对于每一行)添加一个 html 标签,如<span class="SOMECLASS" style="background-color:YOURCOLOR; display: none;"></span>.

表建立并加载后,运行如下:

$('tr span.SOMECLASS').each(function() {
    $(this).parents('tr:first').css('background-color', $(this).css('background-color'));
});

但是,我也想提出一些意见。将 UI 内容的颜色存储在数据库中并不是最佳实践,也许应该对数据进行一些后处理以确定该行是否需要为某种颜色。

希望这可以帮助。

于 2013-02-05T16:12:37.550 回答