设置表格宽度

时间:2011-05-23 09:04:31

标签: java html jsp html-table

我有一个表格,其中标题和数据是随机创建的。我已经为数据单独介绍了滚动但是标题与数据不匹配..因为对齐没有设置..请帮助

我的代码就像这样

<%--
Document   : Reports
Created on : May 6, 2011, 3:12:45 PM
Author     : shaiji.babu
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import ="com.hclt.panaroma.dashboard.dao.ReportDAONew,com.hclt.panaroma.dashboard.wrapper.HostsandDBQuery,com.hclt.panaroma.dashboard.wrapper.Unix"%>
<%@ page import ="java.util.ArrayList,java.util.Hashtable,java.util.Enumeration"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>

<html>
    <head>
        <link rel="stylesheet" type="text/css" href='${pageContext.request.contextPath}/styles/main.css' />
        <link rel="stylesheet" type="text/css" href='${pageContext.request.contextPath}/styles/error_tables.css' />
    </head>
    <body>

        <table class=ruled width="200px" >
            <%
                        String host = request.getParameter("hostID");
                        String selectedMetrics = request.getParameter("metricId");
                        String[] Columns = selectedMetrics.split(",");
                        String rad_val = request.getParameter("selectedRadio");
                        String startDate = request.getParameter("startDate");
                        String endDate = request.getParameter("endDate");
                        String finalTime = null;
                        String timeStamp = null;
                        ReportDAONew reportDAO = new ReportDAONew();
                        int tableHeaderLength = Columns.length + 1;
                        if (rad_val.equalsIgnoreCase("host")) {
                            ArrayList<Unix> myResults = (ArrayList<Unix>) reportDAO.getHostsMetrics1(host, selectedMetrics, startDate, endDate);
                            if (myResults.size() < 1) {%>
            <tr>
                <td height="20px" style="text-align: center;color: red; border-collapse: collapse;font-size: larger;font-weight: bold">NO MATCHING RECORDS FOUND</td>
            </tr>
            <% } else {%>
            <caption align="left" style="color: gray"/>HostMeasure <br><br>
            <tr>
                <td colspan="<%=tableHeaderLength%>" >
                    <div id="reportTable"  >
                        <table  width="100%" style="border-collapse: collapse ">
                            <tr>
                                <td height="35px"  style='background-color:#138399; color: white;'>
                                    <div align="center" style="width: 50px" >
                                        <b>TimeStamp</b>
                                    </div>
                                </td>
                                <% for (int i = 0; i < Columns.length; i++) {%>
                                <td  height="35px" style='background-color:#138399; color: white;'>
                                    <div align="center" style="width: 50px" >
                                        <b> <%= Columns[i]%></b>
                                    </div>
                                </td>
                                <%}%>
                            </tr>
                        </table>
                    </div>
                </td>
            </tr>
            <tr>
                <td >
                    <div  id="reportTable" style="overflow: auto;height: 400px;border: aqua">
                        <table border="2px" width="100%" style="border-collapse: collapse ">

                            <% for (Unix objUnix : myResults) {%>
                            <tr>
                                <%
                                     if (objUnix.getTime_stamp() != null) {
                                         timeStamp = objUnix.getTime_stamp();
                                         finalTime = timeStamp.substring(0, timeStamp.length() - 5);
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="left" style="width: 120px" >
                                        <%=finalTime%>
                                    </div>
                                </td>

                                <%  }
                                     for (int i = 0; i < Columns.length; i++) {
                                         if (Columns[i].equalsIgnoreCase("phymem_util")) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getPhymem_util()%>
                                    </div></td>

                                <%
                                                                                                            }%>
                                <%if (Columns[i].equalsIgnoreCase("Top1ProcessCPU") && objUnix.getTop1ProcessCPU() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getTop1ProcessCPU()%>
                                    </div>
                                </td>
                                <%}%>
                                <%if (Columns[i].equalsIgnoreCase("Top2ProcessCPU") && objUnix.getTop2ProcessCPU() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' >
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getTop2ProcessCPU()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("Top3ProcessCPU") && objUnix.getTop3ProcessCPU() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getTop3ProcessCPU()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("OpenFilesCount") && objUnix.getOpenFilesCount() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getOpenFilesCount()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("Top1Process") && objUnix.getTop1Process() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getTop1Process()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("Top2Process") && objUnix.getTop2Process() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getTop2Process()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("Top3Process") && objUnix.getTop3Process() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getTop3Process()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("UserCPU") && objUnix.getUserCPU() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getUserCPU()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("SystemCPU") && objUnix.getSystemCPU() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getSystemCPU()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("cpuutil") && objUnix.getCpuutil() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="left" style="width: 120px" >
                                        <%= objUnix.getCpuutil()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("InBytesPerSec") && objUnix.getInBytesPerSec() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getInBytesPerSec()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("OutBytesPerSec") && objUnix.getOutBytesPerSec() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getOutBytesPerSec()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("HDA_1_Util") && objUnix.getHDA_1_Util() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getHDA_1_Util()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("HDA_2_Util") && objUnix.getHDA_2_Util() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getHDA_2_Util()%>
                                    </div>
                                </td>
                                <%
                                                                                                }%>
                                <%if (Columns[i].equalsIgnoreCase("HDA_3_Util") && objUnix.getHDA_3_Util() != null) {
                                %>
                                <td style='background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none'>
                                    <div align="center" style="width: 120px" >
                                        <%= objUnix.getHDA_3_Util()%>
                                    </div>
                                </td>
                                <%
                                             }
                                         }%>
                            </tr>

                            <%}%>
                        </table>
                    </div>
                </td>
            </tr>
            <%        }
                                    } else if (rad_val.equalsIgnoreCase("hostAndComp")) {
                                        ReportDAONew reportDAO1 = new ReportDAONew();
                                        ArrayList<HostsandDBQuery> myresult1 = reportDAO1.getReportValues(host, startDate, endDate);
                                        if (myresult1.size() < 1) {
            %>
            <tr>
                <td  height="20px" style="text-align: center;color: red; border-collapse: collapse;font-size: larger;font-weight: bold">NO MATCHING RECORDS FOUND</td>
            </tr>
            <%} else {%>
            <caption align="left" style="color: gray">Host And UserCount Measure</caption>

            <tr>
                <td colspan="16">
                    <div id="reportTable" style="overflow: auto;height: 400px">
                        <table width="70%" style="border-collapse: collapse ">
                            <tr class=head>
                                <td width="400px"  align='center'><B>Day_time</B></td>
                                <td style='width:100px' align='center'><B>Concurrent Users</B></td>
                                <td style='width:100px' align='center'><B>Active Users(5Min)</B></td>
                                <td style='width:100px' align='center'><B>Currently Logged</B></td>
                                <td style='width:100px' align='center'><B>Current Anonymous Users</B></td>
                                <td style='width:200px' align='center'><B>CPU Utilization(%)</B></td>
                                <td style='width:200px' align='center'><B>Physical Mem Utilization(%)</B></td>
                                <td style='width:200px' align='center'><B>User CPU(%)</B></td>
                                <td style='width:200px' align='center'><B>System CPU(%)</B></td>
                                <td style='width:200px' align='center'><B>Open Files Count</B></td>
                                <td style='width:200px' align='center'><B>Top1Process</B></td>
                                <td style='width:200px' align='center'><B>Top1 ProcessCPU</B></td>
                                <td style='width:200px' align='center'><B>Top2Process</B></td>
                                <td style='width:200px' align='center'><B>Top2 ProcessCPU</B></td>
                                <td style='width:200px' align='center'><B>Top3Process</B></td>
                                <td style='width:200px' align='center'><B>Top3 ProcessCPU</B></td>


                            </tr>
                            <%
                                                                            for (HostsandDBQuery objHostDBQry : myresult1) {
                                                                                timeStamp = objHostDBQry.getTime_stamp();
                                                                                if (timeStamp.length() > 0) {
                                                                                    finalTime = timeStamp.substring(0, timeStamp.length() - 5);
                                                                                }

                            %>

                            <tr >
                                <td style='width:400px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= finalTime%></td>
                                <td style='width:100px; background-color:#CCFFCC; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getConcurrent_users()%></td>
                                <td style='width:100px; background-color:#CCFFCC; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getActive_users()%></td>
                                <td style='width:100px; background-color:#CCFFCC; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getCurrently_logged_users()%></td>
                                <td style='width:220px; background-color:#CCFFCC; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getCurrent_anonymous_users()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getCpuutil()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getPhymem_util()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getUserCPU()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getSystemCPU()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getOpenFilesCount()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getTop1Process()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getTop1ProcessCPU()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getTop2Process()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getTop2ProcessCPU()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getTop3Process()%></td>
                                <td style='width:220px; background-color:#98F5FF; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; COLOR: #000000; TEXT-DECORATION:none' align='center'>
                                    <%= objHostDBQry.getTop3ProcessCPU()%></td>
                            </tr>


                            <%                        }%>
                        </table>
                    </div>
                </td>
            </tr>
            <%
                                        }
            %>




            <%
                                    }
            %>

        </table>

    </body>
</html>

现在我能够正确获取标题和数据,但这会让页面感到不安......页面的宽度正在扩展。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你实际上有2张桌子。一个包含表头(让我们称之为headerTable)和一个包含表数据(让我们称之为dataTable)。

如果是这种情况,那么你将不得不编写一些自定义的javascript逻辑,它循环遍历dataTable中第一行的单元格。检索每个单元格的实际宽度,并在headerTable的相应标题单元格中设置此宽度。

这样的事情:

function resizeHeaders(dataTableFirstRowCells, headerTableCells)
{
    for (var i=0; i<dataTableFirstRowCells.length; i++)
    {
        var cell = $(headers[i]);
        var renderedWidth = cell.getWidth(); // 'getWidth' might be different depending on which (and if) js framework you use)
        $(headerTableCells[i]).setWidth(renderedWidth);              
    }
}