如何在单击 table 时获取特定行的单元格位置
how to get position of a cell of a particular row on clicked of a table
一个基本问题,但卡在如何做上,
我有一个 table 如下所示:
col0 col1 col2 col3 col3 col5
row1 | A | B | C | D | E
row2 | X | Y | Z | S | T
我正在寻找一个解决方案,如果我点击 A
如何获得其位置的值 1
,如果 B
2
同样 X
1
.....?
我是这样做的:{尝试过不同的场景}
new sap.ui.core.Icon({
press : function(evt) {
var source=evt.getSource();
var iconIndex=evt.mParameters.id;
var iconIndexValue=iconIndex.split('-'); #{iconIndex = "__icon13-container-........}
var indexnumber=iconIndexValue[0].substring(6);#{13}
.......}
....
我使用上述方法面临的问题是当页面加载时,如果我 select A
我得到的值是 6
这是下一组位置值,但是当我刷新页面时又是1
.
有什么不同的方法可以像上面那样获得吗?
我也纠结于如何简单地解释这一点,但我想上面的预期结果是有道理的..
感谢任何帮助!!
根据我的理解,您需要知道单击的单元格位置。您可以通过 table 方法实现它,例如 indexOfItem()
和 indexOfCell()
View.xml
<Table items="{/items}">
<columns>
<Column> <Text text="Amount" /> </Column>
<Column> <Text text="Quantity" /> </Column>
<Column> <Text text="Weight" /> </Column>
<Column> <Text text="Status" /> </Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Link text="{Amount}" press="getCellInfo" />
<Link text="{Quantity}" press="getCellInfo" />
<Link text="{Unit}" press="getCellInfo" />
<Link text="{parameter1}" press="getCellInfo" />
</cells>
</ColumnListItem>
</items>
</Table>
Controller.js
getCellInfo: function(oEvent) {
var oCell = oEvent.getSource();
var oRow = oCell.getParent();
var oTable = oRow.getParent();
console.log("Row: " + oTable.indexOfItem(oRow) + " Cell index: ", oRow.indexOfCell(oCell));
},
一个基本问题,但卡在如何做上,
我有一个 table 如下所示:
col0 col1 col2 col3 col3 col5
row1 | A | B | C | D | E
row2 | X | Y | Z | S | T
我正在寻找一个解决方案,如果我点击 A
如何获得其位置的值 1
,如果 B
2
同样 X
1
.....?
我是这样做的:{尝试过不同的场景}
new sap.ui.core.Icon({
press : function(evt) {
var source=evt.getSource();
var iconIndex=evt.mParameters.id;
var iconIndexValue=iconIndex.split('-'); #{iconIndex = "__icon13-container-........}
var indexnumber=iconIndexValue[0].substring(6);#{13}
.......}
....
我使用上述方法面临的问题是当页面加载时,如果我 select A
我得到的值是 6
这是下一组位置值,但是当我刷新页面时又是1
.
有什么不同的方法可以像上面那样获得吗?
我也纠结于如何简单地解释这一点,但我想上面的预期结果是有道理的..
感谢任何帮助!!
根据我的理解,您需要知道单击的单元格位置。您可以通过 table 方法实现它,例如 indexOfItem()
和 indexOfCell()
View.xml
<Table items="{/items}">
<columns>
<Column> <Text text="Amount" /> </Column>
<Column> <Text text="Quantity" /> </Column>
<Column> <Text text="Weight" /> </Column>
<Column> <Text text="Status" /> </Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Link text="{Amount}" press="getCellInfo" />
<Link text="{Quantity}" press="getCellInfo" />
<Link text="{Unit}" press="getCellInfo" />
<Link text="{parameter1}" press="getCellInfo" />
</cells>
</ColumnListItem>
</items>
</Table>
Controller.js
getCellInfo: function(oEvent) {
var oCell = oEvent.getSource();
var oRow = oCell.getParent();
var oTable = oRow.getParent();
console.log("Row: " + oTable.indexOfItem(oRow) + " Cell index: ", oRow.indexOfCell(oCell));
},