javascript - 在 Openui5 中按项目触发函数

标签 javascript sapui5

我想在按下表格项目时触发“handleRowPress”。 这是我的代码:

showTable: function(){


    var oData=convertDataTable(testDataInput);

    //make sure table id suffix is set (this is necessary for personalization)
    var oTable = new sap.m.Table('testTable', {
        headerToolbar: new sap.m.Toolbar({
            itemPress: "alert('pippo')",
            content: [
                new sap.m.ToolbarSpacer({})
            ]
        })/*,
        columns: oData.cols.map(function (colname) {
            //make sure column id suffix is set
            return new sap.m.Column(colname, { header: new sap.m.Label({ text: colname })});
        })*/
    });


    oTable.setModel(new sap.ui.model.json.JSONModel(oData));

    for(var i=0; i<oTable.getModel().getProperty("/cols").length; i++){
        oTable.addColumn(new sap.m.Column(oTable.getModel().getProperty("/cols")[i], { header: new sap.m.Label({ text: oTable.getModel().getProperty("/cols")[i] })}));
    }

    oTable.bindAggregation("items", "/items", new sap.m.ColumnListItem({
        cells: oTable.getModel().getProperty("/cols").map(function (colname) {
            return new sap.m.Label({ text: "{" + colname + "}" });
        })
    }));

    //oTable.setProperty("selectionChange","handleRowPress");
    //oTable.setProperty("itemPress", "handleRowPress" );
    //oTable.setProperty("select", "handleRowPress" );

    oTable.attachItemPress("handleRowPress");

    var myPage=this.byId("pageOperation");
    myPage.addContent(oTable);

},


handleRowPress : function(){
    console.log("clicked on item!!!!");
    //console.log(event);

}

为什么我做不到? 如果我尝试设置属性“itemPress”(注释行),它似乎没有设置它。

如何在没有 XML View 而仅使用 js 代码的情况下设置函数?

最佳答案

您可以在表构造函数中将处理程序设置为函数:

var oTable = new sap.m.Table({
    itemPress: function(){
        console.log("clicked on item");
    }
});

或者在构造函数中设置它作为引用

var oTable = new sap.m.Table({
    itemPress: this.handleRowPress
});

或将函数附加到创建的表对象上

oTable.attachItemPress(this.handleRowPress);

关于javascript - 在 Openui5 中按项目触发函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24324822/

相关文章:

javascript - 控制台日志中函数未定义?

javascript - 按另一个数组中的元素过滤数组时出现奇怪的数学

javascript - Javascript 中变量不断变成对象而不是数组

sapui5 - 如何实现跨应用导航并导航回Fiori launchpad主页?

javascript - SapUI5:带有另一个列表项的切换(隐藏/显示)的列表项

javascript - 使用 jQuery 检测视频结束

javascript - AngularJS 在 ng-repeat 循环中保留临时值

javascript - SAPUI5 - 格式化程序功能不起作用

javascript - 具有多个 Y 轴的 VizFrame 组合图表

javascript - ObjectListItem "press"事件未触发