If, we assign the rank to the column
Ex:
Name. . . . . . Rank
A. . . . 1
B 2
C . . . 3
When the user adds the data, the rank is saved in DB(database).
How to update the rank in DB, when user delete the data using knockout?
On click of delete, there is one function called Remove row
And in that function table row<tr> is removed using knockout.
Example: if we delete row B its order will be, -1 as deleted item will have rank/order -1 and order/rank of c will be 2
Is, there any alternative way to reset the column value in SQL or something else?
Please, suggest me
Thank you
You should Aajx request to C# controller, with the ID of the row to remove change rank of the item in the database to -1, and decrease the rank of just next row. Suppose You have removed row B with rank 2, then using jQuery Ajax, call C# controller and pass it's Primary Id to the controller, using ADO.NET update it's rank/order value to -1 and decrease rank(from 3 to 2) of just next element(if there is any) like C.
If you don't know how to call Controller fro knockout js take a look at the below code snippet
//Source http://www.c-sharpcorner.com/UploadFile/raj1979/add-edit-delete-data-using-knockout-in-mvc-4/ //Here self is EmployeeViewModel data // var self = this; self.delete = function (Employee) { if (confirm('Are you sure to Delete "' + Employee.FirstName + '" employee ??')) { var id = Employee.EmployeeID; $.ajax({ url: '@Url.Action("DeleteEmployee", "Employee")', cache: false, type: 'POST', contentType: 'application/json; charset=utf-8', data: ko.toJSON(id), success: function (data) { self.Employees.remove(Employee); // alert("Record Deleted Successfully"); } }).fail( function (xhr, textStatus, err) { alert(err); }); } }
Subscribe to our weekly Newsletter & Keep getting latest article/questions in your inbox weekly