在 ExtJS 中禁用属性网格的自动排序
我正在处理属性网格。我想阻止属性网格的列名称自动排序。 这是我的代码。粗体突出显示的代码是我的属性网格来源,它的顺序就像我想看到的那样。但 Ext 会按字母顺序自动排序列顺序。我怎样才能防止这种情况发生。
感谢您的任何建议。
Ext.ns('Application.propertygrid'); Application.propertygrid.FileDetail = Ext.extend(Ext.grid.PropertyGrid, { title: 'File Detail', height: 200, border: false, stripeRows: true, flex: 1, initComponent: function () { Application.propertygrid.FileDetail.superclass.initComponent.apply(this, arguments); }, source: { Name: 'Please select a file', Type: 'Please select a file', Size: 'Please select a file', Path: 'Please select a file', FullPath: 'Please select a file', Width: 'Please select a file', Height: 'Please select a file' }, listeners: { beforeedit: function(){ return false; // prevent editing }, headerclick: function(){ return false; // prevent column sorting on click } } }) Ext.reg('filedetail', Application.propertygrid.FileDetail);
I am dealing with property grid. I want to prevent auto sorting of column names for property grid.
here is my code. Bold highlighted code is my source for property grid and its order is just like I want to see. But Ext is auto sorting column orders alphabeticly. How can I prevent that.
Thanks for any suggestion.
Ext.ns('Application.propertygrid'); Application.propertygrid.FileDetail = Ext.extend(Ext.grid.PropertyGrid, { title: 'File Detail', height: 200, border: false, stripeRows: true, flex: 1, initComponent: function () { Application.propertygrid.FileDetail.superclass.initComponent.apply(this, arguments); }, source: { Name: 'Please select a file', Type: 'Please select a file', Size: 'Please select a file', Path: 'Please select a file', FullPath: 'Please select a file', Width: 'Please select a file', Height: 'Please select a file' }, listeners: { beforeedit: function(){ return false; // prevent editing }, headerclick: function(){ return false; // prevent column sorting on click } } }) Ext.reg('filedetail', Application.propertygrid.FileDetail);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的。我已经完成了。这是解决方案。
Yeah. I've done with it. And here is the solution.
这不适用于 Extjs 4:
您可以尝试以下操作:
This will not work for the Extjs 4:
You can try this:
对于 Extjs 3.4 应该只需要:
For Extjs 3.4 should only need:
这就是我这样做的方式:
当我定义列时,我将
sortable 属性设置为 false
并定义自己的“可排序标志”,如下所示:稍后,当用户单击列标题时(
headerclick
事件被触发),我检查该列是否可排序,如下所示:This is the way I do this:
When I define my columns I set the
sortable property to false
and I define my own 'sortable flag', like this:Later when a user clicks on the column header (the
headerclick
event gets triggered) and I check if the column is sortable or not, like this: