1

我有以下带有 xp:viewPanel 的简单 xpage:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:viewPanel rows="30" id="viewPanel1" disableTheme="true">
    <xp:this.data>
        <xp:dominoView var="view1" viewName="testView"></xp:dominoView>
    </xp:this.data>
    <xp:viewColumn columnName="$0" id="viewColumn1">
        <xp:viewColumnHeader value="Col 1" id="viewColumnHeader1"></xp:viewColumnHeader>
    </xp:viewColumn>
</xp:viewPanel>
</xp:view>

尽管页眉和页脚禁用了分页器,但生成的 HTML 始终在视图数据周围有一个前导空行:

<table id="view:_id1:viewPanel1_OUTER_TABLE" cellspacing="0" cellpadding="0">

 <tr>
  <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
 </tr>

 <tr>
  <td colspan="3" style="padding:0px" width="100%" height="100%" valign="top">
     <table id="view:_id1:viewPanel1">
       <thead>
         <tr>
           <th scope="col">
             <div><span><span id="view:_id1:viewPanel1:viewColumn1:__internal_header_title_id">Col 1</span></span></div>         
           </th>
         </tr>
       </thead>
       <tbody>
        <tr>
         <td>
          <span id="view:_id1:viewPanel1:0:viewColumn1:_internalViewText">&nbsp;</span>         
         </td>
        </tr>
       </tbody>
     </table>

  </td>
 </tr>

 <tr>
  <td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td>
 </tr>

</table>

我该怎么做才能隐藏/删除这些空行?

我已经添加了一个空主题并在测试数据库中使用它,但这并没有帮助:

<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="platform:/plugin/com.ibm.designer.domino.stylekits/schema/stylekit.xsd">
</theme>

我正在使用 Domino Domino 8.5.3 升级包 1

提前谢谢丹尼尔


编辑 2012 年 4 月 24 日:

感谢 Ulrich Krause,他的回答给了我正确的方向,我最终编写了自己的主题扩展。

<theme extends="webstandard" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="platform:/plugin/com.ibm.designer.domino.stylekits/schema/stylekit.xsd">

  <!-- ================== View Table with no footer and header ================================ -->
    <!-- View DataTable - copied from webstandard theme and customized  (Notes\xsp\nsf\themes)-->
    <control >
            <name>DataTable.ViewPanelNoHeaderFooter</name>
            <property>
                    <name>headerEndStyle</name>
                    <value>display: none;</value>
            </property>
            <property>
                    <name>headerStartStyle</name>
                    <value>display: none;</value>
            </property>           
            <property>
                    <name>headerStyle</name>
                    <value>display: none;</value>
            </property>


            <property>
                    <name>footerStyle</name>
                    <value>display: none;</value>
            </property>
            <property>
                    <name>footerStartStyle</name>
                    <value>display: none;</value>
            </property>           
            <property>
                    <name>footerEndStyle</name>
                    <value>display: none;</value>
            </property>
    </control>
</theme>

使用该主题扩展,我可以在需要的地方将 xp:viewPanel 的主题 ID 设置为“DataTable.ViewPanelNoHeaderFooter”,并且隐藏页眉和页脚行。

<xp:viewPanel rows="30" id="viewPanel1" 
    themeId="DataTable.ViewPanelNoHeaderFooter">
    <xp:this.data>
        <xp:dominoView var="view1" viewName="testView"></xp:dominoView>
    </xp:this.data>
    <xp:viewColumn columnName="$0" id="viewColumn1">
        <xp:viewColumnHeader value="Col 1" id="viewColumnHeader1">
        </xp:viewColumnHeader>
    </xp:viewColumn>

</xp:viewPanel>
4

2 回答 2

2

我为此使用了一个主题。它将空的 .xspDataTableViewPanelHeaderStart 等设置为 display:none。用萤火虫检查以找到元素。将发布解决方案,但目前只有智能手机。

于 2012-04-24T17:35:10.783 回答
0

尝试使用 disableTheme="true" 作为寻呼机的属性,看看是否可以摆脱代码。

    <xp:pager partialRefresh="true" layout="Previous Group Next"
            xp:key="headerPager" id="pager1" disableTheme="true">
        </xp:pager>
于 2012-04-24T16:51:17.477 回答