1
是否有任何選項通過拖放jqGrid行排序?我想將訂單保存在數據庫中。我已經檢查了與jqGrid拖動&下降有關的所有現有解決方案。但是,沒有任何工作正常。jqGrid行拖放排序
是否有任何選項通過拖放jqGrid行排序?我想將訂單保存在數據庫中。我已經檢查了與jqGrid拖動&下降有關的所有現有解決方案。但是,沒有任何工作正常。jqGrid行拖放排序
這是我的方法ASP.NET MVC
。但是你應該知道,只有當你沒有尋呼機時,這個容易實現。
主要想法是在您的網格中獲取所有ID並在您的DB中更改item_order
。
HTML
<table id="jqgTopMenu" cellpadding="0" cellspacing="0"></table>
<div id="jqgpTopMenu" style="text-align: center;"></div>
腳本
$('#jqgTopMenu').jqGrid({
url: '@Url.Action("TopMenus")',
datatype: 'json',
mtype: 'POST',
colNames: ['Id', 'ItemOrder', 'Name', 'Short name'],
colModel: [
{ name: 'Id', index: 'Id', hidden: true },
{ name: 'ItemOrder', index: 'ItemOrder', hidden: true },
{ name: 'PostName', index: 'PostName', align: 'left', width: 430 },
{ name: 'PostNameShort', index: 'PostNameShort', align: 'left', width: 500 },
],
});
//sort Part
$('#jqgTopMenu').jqGrid('sortableRows',
{
update: function (e, ui) {
var ids = $("#jqgTopMenu").jqGrid('getDataIDs');
$.ajaxSettings.traditional = true;
$.ajax({
url: '@Url.Action("SortTopMenu","Admin")',
type: 'post',
dataType: 'json',
data: { ids: ids },
success: function (data) {
$('#jqgTopMenu').trigger("reloadGrid")
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log("status: " + textStatus + " Error: " + errorThrown);
}
});
}
});
控制器
[HttpPost]
public JsonResult SortTopMenu(List<int> ids)
{
return Json(_dataManager.TopMenu.Sort(ids));
}
Manager DB方法
public bool Sort(List<int> ids)
{
for (int i = 0; i < ids.Count; i++)
{
top_menu t = _dataContext.top_menu.FirstOrDefault(tm => tm.id == ids[i]);
t.item_order = i;
_dataContext.SubmitChanges();
}
return true;
}
哪個jqGrid你指的是?這個http://www.trirand.com/blog/或者這個http://jqgrid.com/jqgrid/? – Gouda