如何使用displaytag装饰表中的行

发布于 2024-08-08 13:09:19 字数 141 浏览 3 评论 0原文

我正在使用显示标签来显示表中的值。我想根据“Y”列中的值对表中的特定行进行着色,然后用红色对行进行着色。我该怎么做?我一直在查找使用装饰器类和 addRowClass() 方法的显示标签的文档,但它太混乱了。有没有一种方法可以使用 JavaScript 来做到这一点?

I am using display tag to display values in a table. I want to color a specific row in the table based on the values in the column say 'Y' then color row with red color. How can i do this? I have been looking up the documentation for display tag which uses decorator class and addRowClass() method, but its too confusing. Is there a method to do this using JavaScript?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨后咖啡店 2024-08-15 13:09:19

我一直在使用下面的javascript,我在此处找到了它

<script type="text/javascript">
<!--
    var table = document.getElementById("user");    
    var tbody = table.getElementsByTagName("tbody")[0];
    var rows = tbody.getElementsByTagName("tr");
    // add event handlers so rows light up and are clickable
    for (i=0; i < rows.length; i++) {
        var value = rows[i].getElementsByTagName("td")[0].firstChild.nodeValue;
        if (value == 'mraible') {
            rows[i].style.backgroundColor = "red";
        }
    }
//-->
</script>

I've been using the below javascript which I found HERE

<script type="text/javascript">
<!--
    var table = document.getElementById("user");    
    var tbody = table.getElementsByTagName("tbody")[0];
    var rows = tbody.getElementsByTagName("tr");
    // add event handlers so rows light up and are clickable
    for (i=0; i < rows.length; i++) {
        var value = rows[i].getElementsByTagName("td")[0].firstChild.nodeValue;
        if (value == 'mraible') {
            rows[i].style.backgroundColor = "red";
        }
    }
//-->
</script>
ゝ杯具 2024-08-15 13:09:19

您可以为表设置decorator =“decorator”并覆盖addRowClass方法。
request.setAttribute("decorator", new org.displaytag.decorator.TableDecorator() {...});

You can set decorator="decorator" for your table and override addRowClass method.
request.setAttribute("decorator", new org.displaytag.decorator.TableDecorator() {...});

隱形的亼 2024-08-15 13:09:19

你必须创建一个TableDecorator类,在这个类中你必须创建方法addRowClass(),该方法返回你需要的css类,例如:

package com.example.decorator;
public class DisplayTagExampleDecorator extends TableDecorator {
@Override
 public String addRowClass() {   
     try { 
       return ((ObjectVO) getCurrentRowObject()).isHaveClass() ?
         * " bg-dark" : ""; 
      }
      catch(Exception e) 
      { 
       return ""; 
      } 
  }
}

在jsp文件中,你必须修改decorator属性,如下所示

:显示:表...装饰器=“com.example.decorator.DisplayTagExampleDecorator”>

You have to create a TableDecorator class, inside this class you have to create the method addRowClass(), that method return css class that you need, for example:

package com.example.decorator;
public class DisplayTagExampleDecorator extends TableDecorator {
@Override
 public String addRowClass() {   
     try { 
       return ((ObjectVO) getCurrentRowObject()).isHaveClass() ?
         * " bg-dark" : ""; 
      }
      catch(Exception e) 
      { 
       return ""; 
      } 
  }
}

In jsp file, you have to modify the decorator property, like this:

<display:table ... decorator="com.example.decorator.DisplayTagExampleDecorator">

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文