【问题标题】:Disable auto sorting on property grid in ExtJS在 ExtJS 中禁用属性网格上的自动排序
【发布时间】:2011-05-19 23:40:08
【问题描述】:

我正在处理属性网格。我想防止对属性网格的列名进行自动排序。 这是我的代码。粗体突出显示的代码是我的属性网格的来源,它的顺序就像我想看到的一样。但是 Ext 是按字母顺序自动排序的列顺序。我怎样才能防止这种情况发生。

感谢您的任何建议。

Ext.ns('Application.propertygrid'); Application.propertygrid.FileDetail = Ext.extend(Ext.grid.PropertyGrid, { 标题:'文件详细信息', 身高:200, 边框:假, 条纹行:真的, 弹性:1, 初始化组件:函数(){ Application.propertygrid.FileDetail.superclass.initComponent.apply(this, arguments); }, 来源:{ Name: '请选择一个文件', 类型:'请选择一个文件', Size: '请选择一个文件', Path: '请选择一个文件', FullPath: '请选择一个文件', Width: '请选择一个文件', 高度:'请选择一个文件' }, 听众:{ 编辑前:函数(){ 返回假; // 防止编辑 }, 标题点击:函数(){ 返回假; // 防止点击时的列排序 } } }) Ext.reg('filedetail', Application.propertygrid.FileDetail);

【问题讨论】:

    标签: extjs propertygrid


    【解决方案1】:

    是的。我已经完成了。这是解决方案。

    var p = new Ext.grid.PropertyGrid({ ... //这里不要指定'source' }); 删除 p.getStore().sortInfo; // 移除默认排序 p.getColumnModel().getColumnById('name').sortable = false; // 将第一列的排序设置为 false p.setSource(源); // 现在加载数据

    【讨论】:

    • 用户可能仍想对列进行排序,但只想禁用在呈现时完成的自动排序。
    【解决方案2】:

    这不适用于 Extjs 4:

    delete p.getStore().sortInfo; // Remove default sorting
    p.getColumnModel().getColumnById('name').sortable = false; // set sorting of first column to false
    p.setSource(source); // Now load data
    

    你可以试试这个:

    p.getStore().sorters.items = [] // which should remove sorting information from the store
    p.setSource(source) // now load the data
    

    【讨论】:

      【解决方案3】:

      对于 Extjs 3.4 应该只需要:

      delete propertygrid.getStore().sortInfo;
      

      【讨论】:

        【解决方案4】:

        这就是我这样做的方式: 当我定义我的列时,我设置了sortable property to false 并定义了我自己的“可排序标志”,如下所示:

        var column = {
                    xtype: 'column-component',
                    ...
                    sortable: false,
                    sortableColumn: true
                }
        

        稍后当用户点击列标题时(headerclick 事件被触发),我检查该列是否可排序,如下所示:

        onHeaderClick: function(ct, column, e) {
            if (column.sortableColumn) {
                // do your own sorting ... 
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-12
          • 1970-01-01
          • 2017-07-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多