【问题标题】:ExtJS: Hidden column in grid showing data on store reloadExtJS:网格中的隐藏列显示商店重新加载的数据
【发布时间】:2012-02-15 10:31:05
【问题描述】:

我有一个grid.Panel配置如下:

var myGrid = new Ext.grid.Panel({
                id:'myGridID',
                layout:'anchor',
                title:'My Grid',
                border: false,
                store:myStore,
                frame:false,
                columns:[{header: 'ID', hidden:true, hideable:false, dataIndex: 'data_id'},
                {header:'Title', flex:0.3, sortable:true, dataIndex:'data_title'},
                 {header:'Description', flex:0.7, sortable:true, dataIndex:'data_description'}]
....

它应该显示列标题和描述并隐藏列 ID(我必须将列保留在那里,因为我需要获取所选记录的 ID)。

当我的网页启动时,我将数据完美地加载到网格中。第一列(带有标题 ID 的列)按预期隐藏,列标题和说明显示得很好。 问题是当我在添加记录后重新加载商店时,网格标题显示正常(只有标题和描述),但也显示了列 ID 的数据。

我用这条线重新加载了商店:

Ext.getCmp('myGridID').getStore().load()

我发现,如果我调整任何列(标题或描述)的大小,列 ID 中的数据就会消失。

【问题讨论】:

    标签: extjs grid store


    【解决方案1】:

    你为什么使用'hideable:false'?我认为您不应该指定这一点,似乎没用。尝试在没有它的情况下运行代码。

    【讨论】:

    • 自从我问这个问题以来已经有一段时间了,所以我已经改变了它。那时我还不知道网格处理记录,所以我不必在网格中加载 id 来实际使用它。但是回到您的答案,我认为我使用了 hideable:false 因为如果我不这样做,用户可以从允许用户隐藏列的网格上方的菜单中“取消隐藏”该列。通过设置 hideable:false,列 ID 不会出现(或被禁用),因此用户无法隐藏或显示该列。
    猜你喜欢
    • 2014-09-06
    • 2011-12-24
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    相关资源
    最近更新 更多