noobie_sapui5_developer
我正在尝试使用复选框选择单行sap.ui.table。
该表有2种模式
在多选模式下,每行都有复选框,可以选择多行 - 但我只想选择一行
在单选模式下,它只允许选择一行 - 但没有复选框。
如何使用只有一个可选行的复选框来实现一个表?
有可能使用sap.m.table,但我的要求是使它与sap.ui.table一起使用。
为什么我不建议这样做:
复选框(selectionMode="MultiToggle"
)通常用于通知用户他能够选择一个或多个选项,而单选按钮(selectionMode="Single"
)告诉用户他只能选择一个选项。
见:qazxsw poi,qazxsw poi,qazxsw poi,qazxsw poi
在你的情况下,我建议使用material.io并将nngroup属性设置为uxplanet-radio,uxplanet-checkbox或selectionMode="Single"
(selectionBehavior
)。
正如@jasbir指出的那样,你可以使用Row
事件来调用一个函数来获取刚刚选中的行的索引(RowOnly
)。然后,您可以在RowSelector
上调用SelectionBehaviour函数并将其传递给抓取的索引。这将删除以前选定的行,并将当前选定的行设置为选中。
rowSelectionChange
并在控制器中。
getSelectedIndex
注意:由于
setSelectedIndex
函数触发sap.ui.table.Table
,因此上述函数被触发两次(另一个指示此解决方案不是预期的行为)。
有关详细信息,请查看有关<Table id="yourTableId"
selectionMode="MultiToggle"
rowSelectionChange="onSelectionChange">
</Table>
的SAP Fiori指南。
您可以在更改选择时使用rowSelectionChange事件,您可以取消选择其他行并保留选定的行。
希望这可以帮助