ExtJS 6 网格无法正确更新/刷新列标题
ExtJS 6 grid doesn't update/refresh column headers properly
我有一个基本的ExtJS网格面板,我可以在上面动态应用自定义状态。使用另一个控件(如组合框或其他网格(,我的应用程序在网格上应用所选状态。此状态的示例:
{
"height": 384,
"columns": [{
"id": "h107"
},
{
"id": "h1",
"width": 30
},
{
"id": "unplannedtasks_ActualEndDate",
"hidden": true,
"width": 100
},
{
"id": "unplannedtasks_ActualNoResources",
"hidden": true,
"width": 100
},
{
"id": "unplannedtasks_ActualResponseDateTime",
"hidden": true
},
{
"id": "unplannedtasks_ActualTotalDurationInSeconds",
"width": 100
},
"filters": []
}
下面是网格声明的相应列部分:
Ext.define('Ext.grid.Stateful', {
extend: 'Ext.grid.Panel',
stateEvents: ['columnmove', 'columnresize', 'sortchange', 'hiddenchange', 'groupchange', 'show', 'hide'],
// CODE OMMITTED FOR BREVITY
initComponent: function () {
Ext.apply(this, {
columns: [
filterAction,
new columns.tasks.ActualEndDate({ id: 'unplannedtasks_ActualEndDate', hidden: false }),
new columns.tasks.ActualNoResources({ id: 'unplannedtasks_ActualResponseDateTime', hidden: false },
new columns.tasks.ActualResponseDateTime({ id: 'unplannedtasks_ActualResponseDateTime', hidden: false },
new columns.tasks.ActualTotalDurationInSeconds({ id: 'unplannedtasks_ActualTotalDurationInSeconds', hidden: false }
]
});
}
}(
列定义的示例:
Ext.define("columns.tasks.ActualNoResources", {
extend: "Ext.grid.column.Column",
text: 'ActualNoResources',
dataIndex: 'ActualNoResources',
editor: {
allowBlank: false
}, filterable: true,
filter: {
type: 'string'
}
});
一切都按我的预期进行,除了列标题似乎没有正确刷新。如果我在网格中打开列面板,它会显示正确数量的可见和隐藏列。筛选器的情况相同:如果状态中有筛选器,则会在正确的字段上应用正确的值。就好像列标题需要以某种方式刷新一样。
我尝试使用 grid.getView((.refresh((,但这不起作用。相反,如果我调整网格的大小,它确实会刷新隐藏的列,但不会刷新最初隐藏但现在可见的列。
我想我缺少一行属于网格的applyState方法的简单代码行,因此我可以命令网格使用新状态而不是先前或初始状态刷新网格。
关于如何解决这个问题的任何想法?
事实证明,我追求的场景在 ExtJS 中是不可能的开箱即用的。我所要求的只能在启动期间完成(无需开发人员自定义代码的干预(,因此我不得不退出这种方法并提供自定义代码。最后,我不得不重建列,然后将该集合传递给网格的 reconfigure(store, columns( 方法。
相关文章:
- 如何在不刷新页面的情况下更新显示框
- EXTJS-图表刷新,重绘-如何更新图表
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- JQGrid使用服务器编辑后的更新数据刷新数据
- 实时更新,无需刷新页面
- ExtJS网格在存储更新后未刷新
- 在内容刷新或更新时调整iframe的大小
- 为什么我的 cshtml 页面的 javascript 没有在浏览器中更新/刷新
- HTML5 网址更新而不刷新
- 动态更新/刷新 KmlLayer
- Ember JS - 从路由操作更新/刷新模型数据
- yii2:使用 Pjax 更新/刷新/重新加载页面,与请求页面不同
- ExtJS 6 网格无法正确更新/刷新列标题
- 离子和角度 - 从控制器更新/刷新视图
- 更新/刷新JQuery移动滑块有效
- 只更新(刷新)PartialView提交后点击
- 使用站点更新刷新缓存
- ExtJS 4-更新/刷新单个记录
- 更新刷新函数中的挖空可观察字符串
- 如何在插入jQuery后更新/刷新DOM项