我想按表sapui5中的行删除数据,但是出现错误。我有ID为“ tableKelompokPeserta”的表。

码:

   deleteButton2 : function(){
       var oTable = this.getView().byId("tableKelompokPeserta");

       oTable.attachRowSelectionChange(function(oEvent){

           var currentRowContext = oEvent.getParameter("rowContext");
           var selData = extModel.getProperty("template", currentRowContext);
           console.log(selData);
           sap.m.MessageToast.show(currentRowContext);
       });

   },

   onInit : function (){

        var router = sap.ui.core.UIComponent.getRouterFor(this);

        var uri = "http://172.16.50.202:8081/id/co/taspen/joinDevelopment/modules/tks_mantab/service.xsjs?cmd=get";
        var jsonMod = new sap.ui.model.json.JSONModel(uri,true);

        var oTable = this.getView().byId("tableKelompokPeserta");
        oTable.setModel(jsonMod);

        var oColumn1  = new sap.ui.table.Column({
            label : new sap.ui.commons.Label({
                text: "KODE KELOMPOK",
                textAlign : "Center"}),
            template :  new sap.ui.commons.TextField().bindProperty("value", "KODE_KELOMPOK"),
            sortProperty : "KODE_KELOMPOK",
            filterProperty : "KODE_KELOMPOK"
        });

        var oColumn2  = new sap.ui.table.Column({
            label : new sap.ui.commons.Label({
                text: "NAMA",
                textAlign : "Center"}),
            template :  new sap.ui.commons.TextField().bindProperty("value", "NAMA"),
            sortProperty : "NAMA",
            filterProperty : "NAMA"
        });

        var oColumn3  = new sap.ui.table.Column({
            label : new sap.ui.commons.Label({
                text: "MINIMAL USIA MASUK",
                textAlign : "Center"}),
            template :  new sap.ui.commons.TextField().bindProperty("value", "MINIMAL_USIA_MASUK"),
            sortProperty : "MINIMAL_USIA_MASUK",
            filterProperty : "MINIMAL_USIA_MASUK"
        });

        var oColumn4  = new sap.ui.table.Column({
            label : new sap.ui.commons.Label({
                text: "MAKSIMAL USIA MASUK",
                textAlign : "Center"}),
            template :  new sap.ui.commons.TextField().bindProperty("value", "MAKSIMAL_USIA_MASUK"),
            sortProperty : "MAKSIMAL_USIA_MASUK",
            filterProperty : "MAKSIMAL_USIA_MASUK"
        });

        var oColumn5  = new sap.ui.table.Column({
            label : new sap.ui.commons.Label({
                text: "TERUSAN",
                textAlign : "Center"}),
            template :  new sap.ui.commons.TextField().bindProperty("value", "TERUSAN"),
            sortProperty : "TERUSAN",
            filterProperty : "TERUSAN"
        });

        var oColumn6 = new sap.ui.table.Column({
            label : "ACTION",
            template : new sap.ui.commons.Button({
                icon : "sap-icon://edit",
                tooltip : "{KODE_KELOMPOK}",
                press : function(){
                    var id = this.getTooltip();
                }

            })
        });

        oTable.addColumn(oColumn1);
        oTable.addColumn(oColumn2);
        oTable.addColumn(oColumn3);
        oTable.addColumn(oColumn4);
        oTable.addColumn(oColumn5);
        oTable.addColumn(oColumn6);
        oTable.bindRows("/d/results");

   }


我有6列,我想获得“ KODE_KELOMPOK”列选定的行(仅单选)。我想在单击deletebutton2时得到“ KODE_KELOMPOK”(来自oColumn1)。以及如何禁用sapui5中的多行?谢谢。

问候,

鲍比

最佳答案

对于第一个问题,在deleteButton2事件处理程序中,使用oEvent对象获取按下的Delete按钮所在的行:

deleteButton2 : function(oEvent){
    var sValue = oEvent.getSource().getParent().getBindingContext().getProperty("KODE_KELOMPOK");
}


sValue将包含所选行的KODE_KELOMPOK模型属性的值。

对于第二个问题,可以使用mode控件的List属性设置列表选择模式。可以在here中找到支持的值。 SingleSelectMaster似乎对您有好处。

07-24 15:50