2015-07-28 150 views
3

我在sap.m.table中有很多行,并且想要正确显示所有行的名称。首先,我制作了自动表格,并将列宽度设置为100%,并使其需要popin。我尝试了很多组合,但我无法设法正确显示它们。这里我最后得到了什么。 enter image description here在sap.m.中调整列宽的大小表

我的看法是在下面:

<m:ScrollContainer 
    height="100%" 
    width="100%" 
    horizontal="true" 
    vertical="true" 
    focusable="true"> 
    <m:Table id="idTable" 
     inset="false" 
     growing="true" 
     growingThreshold="3" 
     fixedLayout="false" 
     visibleRowCount="7" 
     border-collapse="collapse" 
     items="{ 
      path: '/...', 
      sorter: { 
       path: '...' 
      } 
     }"> 
    <m:headerToolbar> 
    </m:headerToolbar> 
    <m:columns> 
     <m:Column 
      minScreenWidth="Desktop" 
      demandPopin="true" 
      width="12em"> 
      <m:Text text="{i18n>YUKLEME_NO}" /> 
     </m:Column> 
     <m:Column 
      minScreenWidth="Desktop" 
      demandPopin="true" 
      hAlign="Left"> 
      <m:Text text="{i18n>GEMI_BILGISI}" /> 
     </m:Column> 
     <m:Column 
      minScreenWidth="Desktop" 
      demandPopin="true" 
      width="12em" 
      hAlign="Left"> 
      <m:Text text="{i18n>YUKLEME_ARAC_SAYISI}" /> 
     </m:Column> 
     <m:Column 
      minScreenWidth="Desktop" 
      demandPopin="true" 
      hAlign="Left"> 
      <m:Text text="{i18n>PROFORMA_NO}" /> 
     </m:Column> 
     ...    
     <m:Column 
      demandPopin="true" 
      width="14em" 
      hAlign="Left"> 
      <m:Text text="{i18n>MODEL}" /> 

我也试过minScreenWidth = “桌面” 和包裹= “真” 的列。但它仍然没有改变。

谢谢你的帮助。

+0

你可以用你的表设置一个小的JSBin吗? –

+0

我无法设置。因为我正在使用一项服务,而且我没有时间写一个json数据,对此感到抱歉,但是感谢您的关注。现在,我避免了这个错误使用每个列的宽度属性,并将布局设置为固定。我也为你重新编辑了这个问题 – melomg

+0

同样的问题,我猜是因为minScreenWidth设置错误。使用Small,XSmall等而不是Desktop(width = 1024)可能会有所帮助... @TimGerlach下面是两个jsbin示例来说明问题: - [JSBIN:XMLView中的sap.m.Table](https: //jsbin.com/mozocepidi/edit?html,output) - [JSBIN:sap.m.Table in master detail page with sapUiResponsiveContentPadding](https://jsbin.com/cijusegefi/edit?html,output) 第二个示例似乎会导致更多问题(也没有sapUiResponsiveContentPadding)。 ps:为什么items =“{view>/products}”不起作用(请参阅代码)? – Nabi

回答

1

如果你不打算去这个特定的场景移动,我建议你去sap.ui.table.Table

示例代码:

oTable = new sap.ui.table.Table({ 
    title: "Table with fixed columns Example and scroller", 
    visibleRowCount: 7, 
    firstVisibleRow: 3, 
    selectionMode: sap.ui.table.SelectionMode.Single, 
    navigationMode: sap.ui.table.NavigationMode.Paginator, 
    fixedColumnCount: 0 
}); 

Working JS Fiddle here

+1

似乎你给每列的宽度,但我正在寻找一种自动的方式来做到这一点。但谢谢你与我分享你的想法:) – melomg

1

sap.m.Column.minScreenWidth以及Enum sap.m.ScreenSize

对所有列使用minScreenWidth =“Desktop”。这意味着列将看起来像你所看到的,直到你的屏幕宽度低于1024像素。你可以玩sap.m.ScreenSize的不同组合。但你也可以使用像minScreenWidth =“1280px”而不是使用枚举。此外,你可以使用width =“9em”或什么值。所以基本上,如果您的列的minScreenWidth属性的配置不正确,则会出现您描述的问题。