如何在单击 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));        
},