2013-03-01 125 views
1

我想知道如何在分页栏 和实际的TABLE之间插入<DIV>标签,该标签在顶部有 分页栏时开始结果显示。如果我只在 display:table之前放置<DIV>标记,它还包含滚动条内的分页内容。显示表的滚动条

此外,我不知道如何设置样式TBODY,因为它是一点点 混淆。我不确定你们是否写过这些东西,但是如果你有任何想法,请告诉我 。 和我的代码是

<display:table id="data1" name="invprbmList" requestURI="" pagesize="10" export="true" style="width:100%;" decorator="org.displaytag.decorator.TotalTableDecorator"> 
    <tr><td><display:setProperty name="paging.banner.item_name">Invoice</display:setProperty> 
    <display:setProperty name="paging.banner.items_name">Invoices</display:setProperty> 
    <display:setProperty name="paging.banner.some_items_found"><span class="pagebanner"> {0} Invoices found, displaying {2} to {3}. </span></display:setProperty>   
    <bean:define id="invoiceNo"><bean:write name="data1" property="invoiceNo"/></bean:define> 
    <bean:define id="notes"><bean:write name="data1" property="notes"/></bean:define> 
    <bean:define id="strFlag"><bean:write name="data1" property="strFlag"></bean:write></bean:define> 

    <display:column title="Invoice No." sortable="true" property="invoiceNo" media="xml csv pdf excel" class="l" headerClass="hl" /> 
    <display:column property="invDate" title="Invoice Date" format="{0,date,dd-MMM-yyyy}" sortable="true" class="l" headerClass="hl"/> 
    <display:column media="html" title="Amount" property="invAmount" format="<%=strDispCurrency %>" sortable="true" class="r" headerClass="hr" /> 
    <display:column title="Amount" sortable="true" property="invAmount" media="xml csv pdf excel" class="r" headerClass="hr" /> 
    <display:column property="dueDate"  title="Due Date" format="{0,date,dd-MMM-yyyy}" sortable="true" class="l" headerClass="hl"/> 
    <display:column media="html" title="Balance" property="balance" format="<%=strDispCurrency %>" sortable="true" class="r" headerClass="hr" /> 
    <display:column title="Balance" sortable="true" property="balance" media="xml csv pdf excel" class="r" headerClass="hr" /> 
    <display:column title="Notes" sortable="true" property="notes" media="xml csv pdf excel" class="c" headerClass="hc"/>             
    <display:column property="invPoNum" title="P.O. No." sortable="true" class="l" headerClass="hl"/> 
    <display:column property="invRefNo" title="Ref. No." sortable="true" class="lbr" headerClass="hlbr"/> 
    <display:column property="status" title="Status" sortable="true" class="l" headerClass="hl"/>        
    </td></tr> 
</display:table> 
+0

你有链接到你正在讨论的例子吗? – yumaikas 2013-03-01 14:11:22

+0

没有链接,没有人能够帮助你。 – yumaikas 2013-03-01 14:13:54

+0

我编辑了我的问题... – 2013-03-01 14:14:24

回答

4

创建CSSlocked-column.css为:

div#tbl-container { 
     width: 740px; 
     /* default value will be overrided by minimum of table width or screen 
resolution*/ 
     height: 300px; 
     margin-top: -11px; 
     overflow: auto; 
     /* 
       scrollbar-base-color: #ffeaff; 
     */ 
} 

.dataTable { /*table-layout: fixed; */ 
     border-collapse: collapse; 
     /* background-color: WhiteSmoke; */ 
} 

.dataTable th { 
     top: expression(document . getElementById("tbl-container") . scrollTop-2 
       ); /* IE5+ only */ 
     z-index: 20; 
     font-size: small; 
     padding: 5px 5px 5px 5px !important; 
     text-align: center; 
     position: relative; 
     cursor: default; 
     font-family: sans-serif; 
     font-size: small; 
     font-weight: bold; 
     background-color: #BBCCFF; 
     color: #FFFFF; 
} 

.dataTable thead tr { 
     position: relative; 
     height: 10px; 
     /*background-color: #7CA4E0;*/ 
} 

.dataTable th a:link,th a:visited { 
     color: #1155cc; 
     font-weight: bold; 
     text-decoration: none; 
     font-family: sans-serif; 
} 

.dataTable a:hover { 
     color: #1155cc; 
     text-decoration: underline; 
     font-family: sans-serif; 
     font-weight: bold; 
} 

.dataTable thead th.sorted A { 
     font-weight: bolder; 
} 

.dataTable td { 
     padding: 3px 3px 3px 3px !important; 
} 

.dataTable tbody tr { 
     height: auto; 
     white-space: nowrap; 
} 

.dataTable tbody tr.odd { 
     background-color: #FFFFFF; 
     font-size: x-small; 
} 

.dataTable tbody tr.tableRowEven,tr.even { 
     background-color: #DDE5FF; 
     font-size: x-small; 
} 

.dataTable tbody tr td:last-child { /* padding-right: 20px; */ 

} 

/*these styles have nothing to do with the locked column*/ 
.dataTable body { 
     background-color: white; 
     color: black; 
     font-family: sans-serif; 
} 

.dataTable tbody td { 
     padding: 2px 4px 2px 4px !important; 
     font-family: sans-serif; 
     font-size: x-small; 
} 

.exportlinks { 
     font-family: sans-serif; 
} 

/* style sheet to display light blue color for a mouse on row over event */ 
.dataTable tr.rowMouseOver { 
     color: white; 
     background-repeat: repeat-x; 
     background-color: rgb(228, 59, 47); /*#8888FF;*/ 
} 

.dataTable .order1 { 
     background-position: right 50%; 
     background-image: url('../Images/arrow_up.gif'); 
     background-repeat: no-repeat; 
     font-weight: bold; 
} 

.dataTable .order2 { 
     background-position: right 50%; 
     background-image: url('../Images/arrow_down.gif'); 
     background-repeat: no-repeat; 
     font-weight: bold; 
} 

span.export { 
     padding: 0 4px 1px 20px; 
     font-size: x-small; 
     text-align: center; 
} 

span.excel { 
     background-image: url('../Images/ico_file_excel.png'); 
     background-repeat: no-repeat; 
     width: 16px; 
} 

span.csv { 
     background-image: url('../Images/ico_file_csv.png'); 
     background-repeat: no-repeat; 
     width: 16px; 
} 

span.xml { 
     background-image: url('../Images/ico_file_xml.png'); 
     background-repeat: no-repeat; 
     width: 16px; 
} 

span.first { 
     background-image: url('../Images/first.jpg'); 
     background-repeat: no-repeat; 
     width: 16px; 
} 

span.last { 
     background-image: url('../Images/last.jpg'); 
     background-repeat: no-repeat; 
     width: 16px; 
} 

span.pdf { 
     background-image: url('../Images/ico_file_pdf.png'); 
     background-repeat: no-repeat; 
     width: 16px; 
} 

span.rtf { 
     background-image: url('../Images/ico_file_rtf.png'); 
     background-repeat: no-repeat; 
     width: 16px; 
} 

.rightAlignedPadded { 
     text-align: right; 
     padding-right: 10px; 
} 

呼叫你的JSP的JavaScript这个CSS类:

if(navigator.appName == 'Microsoft Internet Explorer') 
{ 
     document.write('<link rel="stylesheet" type="text/css" href="css/locked-column.css" />'); 
} 
else 
{ 
     document.write('<link rel="stylesheet" type="text/css" href="css/displaytag1.css" />'); 
} 

,使您的display-tag为:

 <table> 
     <tr><td> 
      <div id="tbl-container" style="width: 850px;"> 
       <display:table name="CustomerList" export="true" id="customerList" class="dataTable" defaultorder="ascending" cellspacing="1" requestURI="" frame="true" decorator="org.displaytag.decorator.TotalTableDecorator"> 
       <display:setProperty name="export.pdf.filename" value="OverallOverdue.pdf" /> 
       <display:setProperty name="export.excel.filename" value="OverallOverdue.xls" /> 
       <display:setProperty name="export.csv" value="true" /> 
       <display:setProperty name="export.csv.filename" value="OverallOverdue.csv" /> 
       <display:setProperty name="export.xml" value="true" /> 
       <display:setProperty name="export.xml.filename" value="OverallOverdue.xml" /> 
       <display:setProperty name="paging.banner.placement">top</display:setProperty> 
       ......... 
       </display:table></div> </td></tr> 
      <tr><td>&nbsp;</td></tr> 
      <tr><td> 
       <div id="export-links"> 
       </div> 
      </td> 
      </tr> 
     </table> 
+0

这是它的答案还是问题? – Aleks 2013-03-20 09:39:47

+0

抱歉,纳文,但请你再说一遍你的问题。你说他们是不变的,但包含在滚动条中,你想要什么?你能更准确地陈述吗?此外,我已经尝试过你的代码,在不显示任何东西..只是“'顶....”。请包括displaytag1.css,因为并非我们所有人都使用IE – Aleks 2013-03-20 09:53:05

+0

我的要求只适用于IE。所以,这就是为什么我在其中包含locked-column.css代码.... – 2013-03-20 10:01:14

0

如果它被包含在滚动,把:

<div id="export-links"> 
       </div> 

<table>

你不能有滚动表内非滚动的元素。也许你可以将这个元素定义为绝对位置,并且让它变成这样,但我不会推荐它。

与您的代码尝试这样的:

<table> 
     <tr><td> 
      <div id="tbl-container" style="width: 850px;"> 
       <display:table name="CustomerList" export="true" id="customerList" class="dataTable" defaultorder="ascending" cellspacing="1" requestURI="" frame="true" decorator="org.displaytag.decorator.TotalTableDecorator"> 
       <display:setProperty name="export.pdf.filename" value="OverallOverdue.pdf" /> 
       <display:setProperty name="export.excel.filename" value="OverallOverdue.xls" /> 
       <display:setProperty name="export.csv" value="true" /> 
       <display:setProperty name="export.csv.filename" value="OverallOverdue.csv" /> 
       <display:setProperty name="export.xml" value="true" /> 
       <display:setProperty name="export.xml.filename" value="OverallOverdue.xml" /> 
       <display:setProperty name="paging.banner.placement">top</display:setProperty> 
       ......... 
       </display:table></div> </td></tr> 
      <tr><td>&nbsp;</td></tr> 
      <tr><td> 

      </td> 
      </tr> 
     </table> 

<div id="export-links"> 
    your links here 
</div> 

表这样它会not be included,系统将滚动

看看这个例子中,我提出:

http://jsfiddle.net/LQJY5/

0

http://www.hesido.com/web.php?page=customscrollbar下载flexcroll.js和flexcrollstyles.css并包含这些文件。

<table> 
<tr> 
    <td width='100%'> Paging: </td> 
</tr> 
<tr> 
    <td> 
    <div id='customscroll' class='flexcroll' style='height:300px;'> 
    <table> 
     <tr> 
     <td>Your content</td> 
     </tr> 
    </table> 
    </div> 
    </td> 
</tr> 
</table>