首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jqGrid -如何禁用列可拖动但可以排序的列

jqGrid -如何禁用列可拖动但可以排序的列
EN

Stack Overflow用户
提问于 2017-02-06 02:38:46
回答 1查看 1.5K关注 0票数 2
  1. 我想通过拖动列来禁用重新排序,但是jqGrid可以对列进行排序。
  2. 或者,我希望通过拖动列和拥有列选择器来启用重新排序。

此代码通过拖动列发生错误。

代码语言:javascript
代码运行次数:0
运行
复制
$(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);
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-06 06:31:52

您使用的网格选项sortable: true负责对列的拖放进行(重新排序)。另一方面,通过单击列标题,可以使用sortable: false属性colModel来防止对列中的数据进行排序。对columnChooser的列重新排序与上述选项和属性无关,但可以在colModel中使用hidedlg: true属性来防止在列选择器对话框中显示某些列。

因此,如果我正确理解了您的问题,您应该删除网格的sortable: true,而不是在colModel中指定任何sortable属性( sortable属性的默认值是true,它允许对数据进行排序)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42059645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档