gpt4 book ai didi

javascript - 在 UI5 应用程序中读取选定表行的列索引

转载 作者:行者123 更新时间:2023-11-30 14:39:20 26 4
gpt4 key购买 nike

我想读取 sap.m.Table 中用户选定行的列索引。我在调试期间尝试了几种方法但没有工作。我能够获取列,但不能获取它的索引。

请在下面找到表格输出截图,当用户选择任何值时,我需要在其中捕获表格标题(季度名称)。

enter image description here

header.controller.js

sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/model/Filter",
"NPAWRMA/model/formatter",
"sap/ui/model/FilterOperator"
], function(Controller, Filter, formatter, FilterOperator) {
"use strict";

return Controller.extend("NPAWRMA.controller.header", {
formatter: formatter,
onInit: function(evt) {

},
onPress: function(oeve) {
debugger;
var selcbu = oeve.getSource().getBindingContext("odata").getProperty("KTEXT");
var otable = oeve.getSource().getTable("table");
var ocolumn = otable.getColumns();

}
});
});

header.view.xml

<mvc:View controllerName="NPAWRMA.controller.header" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc"
displayBlock="true" xmlns="sap.m" xmlns:l="sap.ui.layout">
<App id="idAppControl">
<pages>
<Page title="NPAW RMA Report">
<content>
<l:VerticalLayout>
<Table id="table" growing="true" items="{odata>/npirevSet}">
<columns>
<Column>
<Text text="CBU" id="CbuShortNameColumnTitle"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label01}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label02}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label03}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label04}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label05}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label06}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label07}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label08}"/>
</Column>
</columns>
<items>
<ColumnListItem type="Active" press="onPress">
<cells>
<Text text="{odata>KTEXT}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc01', formatter: '.formatter.numberUnit' }" state="{State01}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc02', formatter: '.formatter.numberUnit' }" state="{State02}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc03', formatter: '.formatter.numberUnit' }" state="{State03}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc04', formatter: '.formatter.numberUnit' }" state="{State04}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc05', formatter: '.formatter.numberUnit' }" state="{State05}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc06', formatter: '.formatter.numberUnit' }" state="{State06}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc07', formatter: '.formatter.numberUnit' }" state="{State07}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc08', formatter: '.formatter.numberUnit' }" state="{State08}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc09', formatter: '.formatter.numberUnit' }" state="{State09}"/>
</cells>
</ColumnListItem>
</items>
</Table>
<Table id="table1" class=".table1" growing="true" items="{odata>/npirevSet}">
<columns>
<Column>
<Text text="CBU" id="CbuShortNameColumnTitle1"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label01}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label02}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label03}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label04}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label05}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label06}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label07}"/>
</Column>
<Column>
<Text text="{Labels>/Labels1/Label08}"/>
</Column>
</columns>
<items>
<ColumnListItem type="Active">
<cells>
<Text text="{odata>KTEXT}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc01', formatter: '.formatter.numberUnit' }" unit="%" state="{State01}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc02', formatter: '.formatter.numberUnit' }" unit="%" state="{State02}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc03', formatter: '.formatter.numberUnit' }" unit="%" state="{State03}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc04', formatter: '.formatter.numberUnit' }" unit="%" state="{State04}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc05', formatter: '.formatter.numberUnit' }" unit="%" state="{State05}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc06', formatter: '.formatter.numberUnit' }" unit="%" state="{State06}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc07', formatter: '.formatter.numberUnit' }" unit="%" state="{State07}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc08', formatter: '.formatter.numberUnit' }" unit="%" state="{State08}"/>
<ObjectNumber number="{ path: 'odata>NpiPerc09', formatter: '.formatter.numberUnit' }" unit="%" state="{State09}"/>
</cells>
</ColumnListItem>
</items>
</Table>
</l:VerticalLayout>
</content>
</Page>
</pages>
</App>
</mvc:View>

最佳答案

我不知道你所说的“我想读取列索引”到底是什么意思,但如果你想知道你在选择表格行时点击了哪一列,那么我认为这是不可能的 从 API 的 Angular 来看。

sap.m.Table 是一个 ListBase 控件。 sap.m.ColumnListItem 是一个 ListItemBase 控件。因此,他们按列表处理事件。这仅与行相关。

我看到的唯一方法是处理每个内部控件中的事件,并从中获取自定义数据。否则,您的点击事件源将是行或表,但没有关于您点击的内部元素的信息

关于javascript - 在 UI5 应用程序中读取选定表行的列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49922686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com