Hi Kanishka,
Tables have a more complex structure than the lists so some extra things need to happen. The sortable looks for the children of the id you give it. In a list, the sortable items are the direct children, but in a table, the tbody is the direct child of the id, and then the rows are inside the tbody. You need to set the ChildElementSelector of the SortableList block to "tbody"
The second thing that needs to happen is you need to give your row a data-id, but there's no way to set attributes on rows with the OutSystems table. For this you need to set a data-id attribute on your first cell, and then add a javascript block to the OnRender action for your screen or block:
//this will take the data-id from the td and copy it to the tr in order for the Sortable
//to use the proper id in its ToArray action.
var idTds = document.getElementById($parameters.widgetId).querySelectorAll("[data-id]");
idTds.forEach(function(td) {
td.closest("tr").setAttribute("data-id", td.getAttribute("data-id"));
});
Have a look at the SortableTable screen in the demo. I've attached a new demo version for you.
Greg