SAPUI5表绑定动作到图标模板

时间:2014-08-25 09:11:00

标签: javascript events icons sapui5

我正在使用UI5表。 我正在阅读我的oData服务并将元素绑定到列:

oTable.addColumn(new sap.ui.table.Column({
    label : new sap.ui.commons.Label({
        text : ""
    }),
    template : new sap.ui.core.Icon({
        src : "{Visible}",
    }),
    width : "55px",
    hAlign : "Center"
}));

{Visible}包含sap-icon"展开" ..它在表中正确显示。 如何将事件绑定到该图标?

我之前通过

单独定义了一个图标
var icon = new sap.ui.core.Icon({
            src : sURI,
        });

icon.attachPress(function(oEvent) {
  var selectedRow = this.getBindingContext().getProperty('myID');
  console.log('Row clicked:' + selectedRow);
});

但是像这样我不能将我的odata元素{visible}添加到列中,因为这必须在addColumn方法中读取,否则绑定不起作用。

有人对此有所帮助吗?

1 个答案:

答案 0 :(得分:2)

只需添加新闻事件。

var pressHandler = function(oEvent) {
    var selectedRow = this.getBindingContext().getProperty('myID');
    console.log('Row clicked:' + selectedRow);
});

oTable.addColumn(new sap.ui.table.Column({
    label : new sap.ui.commons.Label({
        text : ""
    }),
    template : new sap.ui.core.Icon({
        src : "{Visible}",
        press: pressHandler
    }),
    width : "55px",
    hAlign : "Center"
}));