cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to delete row in sap.m Table in sapui5

0 Kudos
2,988

I created sap.m Table using mode MultiSelect. I want to delete selected rows. Below is my code:-

var that = this;

var oTable = that.getView().byId("tableId");

var oModelDeletef = oTable.getModel();

var aRows = oModelDeletef.getData();

var aContexts = oTable.getSelectedContexts();

for (var i = aContexts.length - 1; i >= 0; i--)

{

var oThisObj = aContexts[i].getObject();

var index = $.map(aRows, function (obj, index)

{

if (obj === oThisObj)

{

return index;

}

});

aRows.splice(index, 1); }

I am getting the error aRows.splice is not a function

I debug the code, since var oThisObj = aContexts[i].getObject(); this line , everything is correct, But still I am getting error

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member667434
Active Participant
0 Kudos

Hi preety16442,

This is how I'm deleting row. I have a "Delete" button on top.

		deleteRow: function (oEvent) {
			var table = this.getView().byId("table0");
			var selected = table.getSelectedItems();
			var msg;
			if (selected["length"] === 0) {
				msg = "Please select atleast one row";
				sap.m.MessageBox.show(msg, {
					icon: sap.m.MessageBox.Icon.ERROR,
					title: "Error"
				});
			} else {
				var length = selected.length;
				for (var i = 0; i < length; i++) {
					selected[i].destroy();
				}
				this.tableDateRefresh();
			}
		},
		tableDateRefresh: function (oEvent) {
			var table = this.getView().byId("table0");
			var rowCount = table.getItems().length;
			for (var i = 0; i < rowCount; i++) {
				var text = i + 1;
				text = text * 10;
				table.getItems()[i].getCells()[0].setProperty("text", text);
			}
		},

<br>
saibehera
Newcomer
0 Kudos
This is very useful thanks
SrinivasanVelumani
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Preety,

Please check the below thread ..

https://answers.sap.com/questions/11307400/how-to-delete-rows-in-a-sapm-table-xml-view-with-m.html

Make sure the selected binding contexts are sorted so that you start deleting it from biggest one.

Regards,

Srinivasan V