当动态创建行时,如何为行提供备用颜色?

时间:2013-04-23 03:17:33

标签: java html jsp

我在while循环中动态创建行。

从特定目录获取数据时,将创建所需的行。 但我想给排的斑马颜色。我将要做什么?

以下代码在我的jsp页面上:

<% 

        while(rsemail.next())
        {
             user_email = rsemail.getString(2);
             file_name = rsemail.getString(3);
             file_size = rsemail.getFloat(4);
             file_type = rsemail.getString(5);

             for (int i = 0; i < listOfFiles.length; i++)
                {
                    if (listOfFiles[i].isFile())
                    {
                        if(listOfFiles[i].getName().equals(file_name))
                        {
                            row_counter = row_counter + 1;
                            %>

                                <tr height="28px"  id="table_row" bgcolor="#C6C6C6">
                                  <td width="7%"><div align="center"><%= id=id+1 %></div></td>
                                  <td width="39%"><%=listOfFiles[i].getName() %></td>
                                  <td width="12%"><%= file_type  %></td>
                                  <td width="14%"><%= file_size/1000 %> KB</td>
                                  <td width="14%"><div align="center">Delete</div></td>
                                  <td width="14%"><div align="center"><a href="Savefile?path=d:\Reports\&filename=<%=listOfFiles[i].getName()%>">Download</a> </div></td>
                                </tr>                             
                            <%
                        }
                    }
                }
        }
        %>

表显示可以下载的目录数据以及它的名称&amp;类型&amp;尺寸也显示。 显示我想以一些安排的替代方式提出它。

  

所以任何人都可以帮助我???

3 个答案:

答案 0 :(得分:3)

你尝试过这样的事吗

<%
 String StrBgEven = "#C6C6C6", strBgOdd = "#FFFFFF"; // outside loop
 if( i%2 == 0 ){
%>
 <tr height="28px"  id="table_row" bgcolor="<%=strBgEven%>">
<%  
}else{
%>
 <tr height="28px"  id="table_row" bgcolor="<%=strBgOdd%>">
<%
} 
%>

答案 1 :(得分:0)

  1. 将两种颜色放入数组colors
  2. 将整数i初始化为0
  3. 在循环体中迭代表的行
    1. 将颜色colors[i]指定给当前行
    2. i更新为1-i
    3. 的值
  4. 为了澄清这一点,必须重命名上述算法中的i,因为i已经使用了您的代码。

答案 2 :(得分:0)

在循环中使用行计数并检查if(rowcount%2==0) if,true然后使用css更改背景颜色。

示例: -

循环开始

<tr style="<%if(cnt%2==0){ %>background-color:#ffffff;<%}else{%>background-color:#F9F9F9;<%} %>">

</tr>

循环结束

在上面的示例<tr></tr>中,您可以放置​​数据(<td></td>)。

希望它会对你有所帮助。