标签: sapui5

sap.ui.table.Table"VisibleRowCountMode.Auto"模式不起作用

我在设置表的行数时遇到了麻烦,无法自动填充其封装容器的可用空间.

根据API,将visibleRowCountMode属性设置为sap.ui.table.VisibleRowCountMode.Auto应该将表呈现为

"[...]自动填充周围容器的高度 .visibleRowCount属性会相应地自动更改.所有行都需要相同的高度,否则自动模式并不总是按预期工作."

我使用了以下代码:

var oTable = new sap.ui.table.Table( {
    rowHeight           : 30,
    height              : "100%",
    // The below property is seemingly ignored... What did I do wrong?
    visibleRowCountMode : sap.ui.table.VisibleRowCountMode.Auto
});
Run Code Online (Sandbox Code Playgroud)

...但正如你在这个jsbin示例中看到的那样http://jsbin.com/vazuz/1/edit它只显示默认的10行,当然不会"相应地改变visibleRowCount属性":-(

有人有解决方案吗?提前致谢!

=====================

编辑:感谢@ matz3的回答,我最终能够解决这个问题.

将周围的容器DIV设置为100%,这似乎被忽略了.然而,将其设置为固定高度,效果很好.但我真正想要的是,如果用户调整窗口大小,则需要相应地调整可用行数.因此将其设置为固定高度不是一个选择......

然而,诀窍在于一些额外的CSS:不仅需要将DIV设置为100%高度,还需要将BODY和HTML(!!)设置为100%的高度:

html, body {
  height: 100%
}

div#uiArea {
  height: 100%
}
Run Code Online (Sandbox Code Playgroud)

现在,表格跨越可用视口的整个高度,并且调整窗口大小可以很好地调整表格.请参阅此处的最终工作解决方案:http://jsbin.com/bosusuya/3/edit

Matz3,谢谢你的帮助!

sapui5

4
推荐指数
2
解决办法
1万
查看次数

如何销毁片段(或视图)?

我创建了这个片段:

var dialogFrafment = sap.ui.xmlfragment(
    "appIntra.fragment.dialog",
    this.getView().getController() // associate controller with the fragment            
);
this.getView().addDependent(dialogFrafment);
sap.ui.getCore().byId("idMailReport").setValue(sap.ui.getCore().getModel("mailUser"));

dialogFrafment.
dialogFrafment.open();
Run Code Online (Sandbox Code Playgroud)

完成后如何删除?

javascript sapui5

4
推荐指数
1
解决办法
2万
查看次数

在XML视图中将参数传递给i18n模型

我们如何从XML视图中将参数传递给i18n模型?

没有参数

<Label text="{i18n>myKey}"/>
Run Code Online (Sandbox Code Playgroud)

但是我们如何在该表达式中传递参数?

到目前为止,我发现的唯一信息是http://scn.sap.com/thread/3586754.我真的希望这不是正确的方法,因为这看起来更像是一个(丑陋)黑客.

internationalization sapui5

4
推荐指数
1
解决办法
9316
查看次数

如何垂直对齐控件?

我在 XML 文件中的屏幕上有几个元素

<layout:VerticalLayout xmlns:layout="sap.ui.layout" xmlns="sap.m">
  <Input />
  <Button />
  <!-- ... -->
</layout:VerticalLayout>
Run Code Online (Sandbox Code Playgroud)

如何添加布局重力或垂直对齐控件之类的内容?例如,我想要元素位于屏幕中央。

sapui5

4
推荐指数
1
解决办法
2万
查看次数

在顶部隐藏品牌标题 4px 粘性栏

虽然我想使用默认的蓝水晶主题,但只想隐藏蓝色品牌栏,因为我在移动应用程序中使用本机导航标题和网络指示栏。网络指示器栏与此蓝色 4 像素栏重叠。请问有什么帮助吗?

在此处输入图片说明

branding sapui5

4
推荐指数
1
解决办法
1760
查看次数

SimpleForm 上的 SAPUI5 数据绑定

我在尝试在简单表单上绑定数据时遇到问题。我正在使用模拟服务器并已成功将数据绑定到列表/表

我的 manifest.json 看起来像这样

"mock": {
    "dataSource": "mainService"
}
Run Code Online (Sandbox Code Playgroud)

我的模拟数据(UserDetailsS​​et.json)看起来像这样

[{
    "ID_PassNum": "cu001",
    "Title": "Mr",
    "Name": "Don",
    "Surname": "Ownery",
    "ResType": "SA",
    "Country": "South Africa"
}]
Run Code Online (Sandbox Code Playgroud)

我的 SimpleForm 字段看起来像这样

<Label text="Name" />
<Input value="{mock>/UserDetailsSet/0/Name}" />
<Label text="Surname" />
<Input value="{mock>/UserDetailsSet/0/Surname}"/>
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

data-binding odata sapui5 sap-fiori

4
推荐指数
1
解决办法
1万
查看次数

如何在SAPUI5中自定义Shell容器

贝壳容器

我有一个shell容器,在大屏幕上我想充分利用屏幕.我想覆盖整个区域.我如何定制它.

sapui5 sap-fiori sapui5-theming

4
推荐指数
2
解决办法
4642
查看次数

ODataModel 在读取中传递“扩展”参数

我想将 expand 参数传递给,read因为如果我像这样调用服务它不起作用:

oModel1.read("/LinesSet?$expand=ToCells", {
Run Code Online (Sandbox Code Playgroud)

odata sapui5

4
推荐指数
1
解决办法
2万
查看次数

实时更新项目数量

我有一个要求,需要将列表项的数量实时更新到页面的子标题。我想要 use sap.ui.base.EventProvider、聚合绑定或表达式绑定。请引导我完成,因为我以前从未使用过它。

如果我删除列表项,列表项的数量应该实时更新。

sapui5

4
推荐指数
1
解决办法
5283
查看次数

UI5中更新模型,使用formatter时双向数据绑定变为单向

在我的 UI5 应用程序中,我有一个表,其中每一行都包含一个sap.m.Switch,它通过 绑定到模型formatter,因为数据来自数据库作为1/ 0,而不是true/ false,并且这可能打破了默认的双向数据绑定

为了根据此开关的编辑值更新数据模型,我实现了以下change-event:

onChangeSwitch: function onChangeSwitch(oEvent) {
    let context = oEvent.oSource.getBindingContext();
    let itemIndex = context.sPath.substr(1);
    let oModel = this.getView().byId("idTablePersons").getModel();
    oModel.oData[itemIndex].isPersonActive = (oEvent.mParameters.state) ? 1 : 0;
    oModel.refresh();
}
Run Code Online (Sandbox Code Playgroud)

它有效,但我不确定这是否是实现此类逻辑的正确方法。
更改sap.m.Switch值后是否有更新模型的标准方法?

data-binding sapui5

4
推荐指数
1
解决办法
2487
查看次数