此代码通过拖动列发生错误。
$(function () {
jQuery("#search_datagrid").jqGrid("GridUnload").jqGrid({
url: '/Search/SearchDataGrid/',
datatype: "json",
contentType: "application/json; charset-utf-8",
mtype: 'POST',
postData: {
search_word: search_word,
baseLang: baseLang,
targetLang: targetLang,
products: products
},
rowNum: 20,
rowList: [10, 20, 30, 50],
colNames: columnNames,
colModel: columnModels,
shrinkToFit: true,
height:'auto',
autowidth: true,
pager: "#search_pager",
viewrecords: true,
caption: "Result",
subGrid: true,
sortable: true,
loadonce: true,
gridview: true,
subGridOptions: {
"plusicon": "ui-icon-triangle-1-e",
"minusicon": "ui-icon-triangle-1-s",
"openicon": "ui-icon-arrowreturn-1-e"
},
})
.jqGrid('navGrid', '#search_pager', { add: false, edit: false, del: false, search: false, refresh: false })
.jqGrid('navButtonAdd', '#search_pager', {
caption: "Select Columns",
title: "Select Columns",
buttonicon: "ui-icon-calculator",
onClickButton: function () {
jQuery("#search_datagrid").jqGrid('columnChooser');
}
})
.jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders: [
{ startColumnName: '' + baseLang, numberOfColumns: 2, titleText: 'Language' },
]
})
});
$(window).resize(function () {
$("#search_datagrid").setGridWidth($(this).width() - $(this).width() / 10);
});
发布于 2017-02-06 06:31:52
您使用的网格选项sortable: true
负责对列的拖放进行(重新排序)。另一方面,通过单击列标题,可以使用sortable: false
属性colModel
来防止对列中的数据进行排序。对columnChooser
的列重新排序与上述选项和属性无关,但可以在colModel
中使用hidedlg: true
属性来防止在列选择器对话框中显示某些列。
因此,如果我正确理解了您的问题,您应该删除网格的sortable: true
,而不是在colModel
中指定任何sortable
属性( sortable
属性的默认值是true
,它允许对数据进行排序)。
https://stackoverflow.com/questions/42059645
复制相似问题