kendo grid delete command not working
kendo-grid, kendo-ui
Solution
There are three common reasons delete won't work:
1. Not setting `editable` of grid to `inline` or `popup`. The deleted items will be automatically processed through transport destroy only for "inline"/"popup" edit modes. Ex:
editable: {
mode: "inline",
}
//or
editable: "inline"
2. If on your datasource, you have the `batch` flag set to `true`, this means the datasource will make the call only after you tell it to, e.g calling `sync()`. Ex:
var dataSource = new kendo.data.DataSource({
batch: true,
//.....
});
//... in some where e.g in a save button click event call the following line:
dataSource.sync();
3. You should define `id` to your primary key of database field name inside `model` of datasource. Ex:
model: {
id: "ProductID",
fields: {
ProductID: { editable: false, nullable: true },
}
}
So the problem with your code is first one, i.e you did not set `editable` to `inline` or `popup`
Problem
i have developed a web application using kendo ui tools and theres a kendo grid with batch edit mode.. but when i press the delete button for any record in kendo grid it will erase from the list in grid but actually not in the data source.when i reload the page or grid the deleted item will still exist.. here is the code of my grid ``` <div id="grid"> </div> <script type="text/javascript"> $("#submitMarketUser").click(function () { var grid = $("#grid").data("kendoGrid"); var dataSource = new kendo.data.DataSource({ transport: { read: { url: "WholeSaleTrade/GetTradeProductDetail", dataType: "json", data: { test: $("#Names").val() } }, destroy: { url: "WholeSaleTrade/DeletePro", type: "POST", dataType: "jsonp", data: { DAKy: $("#Names").val(), DIKy: $("#btntxt").val() } }, create: { url: "WholeSaleTrade/CreateProduct", type: "POST", dataType: "jsonp", data: { AKy: $("#Names").val(), IKy: $("#btntxt").val() } } }, pageSize: 5, schema: { model: { id: "ProductKey", fields: { ProductKey: { editable: false, nullable: true }, ProductName: { validation: { required: true} } } } } }); $("#grid").kendoGrid({ dataSource: dataSource, editable: true, toolbar: ["create", "save"], autobind: true, pageable: true, columns: [ { field: "ProductName", title: "Product Name", editor: function (container, options) { var model = options.model; $('<input id="btntxt" name="' + options.field + '"/>').appendTo(container).kendoComboBox({ dataSource: { type: "POST", transport: { read: { url: "MarketInformation/PopulateProducts", success: function (data) { var prod = data[0]; model.set("ProductName", prod.ItmNm); model.set("ItmKy", prod.ItmKy); model.set("UserKey", $("#Names").val()); } } } }, dataValueField: "ItmKy", dataTextField: "ItmNm" }); } }, { command: ["destroy"], title: " " } ] }); }); </script> ``` can not identify that where is the fault going and can somebody please help me to solve this matter.