2016-05-27 13 views
1

Ich möchte mein eigenes ColumnListItem-Steuerelement schreiben, um die Drag & Drop-Funktionalität hinzuzufügen.So erweitern Sie sap.m.ColumnListItem

Bisher habe ich dies getan:

$.sap.require('sap.m.ColumnListItem'); 
$.sap.declare('my.DraggableDelegate'); 
$.sap.declare('my.ColumnListItem'); 
my.DraggableDelegate = function(oControl) { 
     this.oControl = oControl; 
    }; 
    my.DraggableDelegate.prototype = { 
     onAfterRendering: function() { 
      this.oControl.$().draggable({ 
       cancel: false 
     }); 
    } 
}; 
sap.m.ColumnListItem.extend("my.ColumnListItem", { 
    renderer : {}, // actually I would rather like to get the ColumnListItem renderer but I don't know how ... 
    init: function() { 
     this.oDraggable = new my.DraggableDelegate(this); 
     this.addDelegate(this.oDraggable);     
    } 
    // something is still missing here I guess 
}); 

Die Entwicklerkonsole kehrt nur einen Fehler:

Uncaught TypeError: Cannot read property 'forEach' of undefined

Wer weiß, wie die sap.m.ColumnListItem Steuerung richtig zu verlängern?

+1

Sie die '' haben zu rufen init() der Superklasse. – hirse

Antwort

0

Dank hirse ich die fehlende Zeile gefunden:

sap.m.ColumnListItem.extend("my.ColumnListItem", { 
    renderer : {}, 
    init: function() { 
     /*******/sap.m.ColumnListItem.prototype.init.apply(this); /******/ 
     this.oDraggable = new my.DraggableDelegate(this); 
     this.addDelegate(this.oDraggable);     
    } 
}); 
Verwandte Themen