gpt4 book ai didi

javascript - 如何处理ExtJs中的异常 "cannot call method getRange of null"?

转载 作者:行者123 更新时间:2023-12-02 15:04:28 24 4
gpt4 key购买 nike

我在网上搜索了答案,但没有找到任何答案。希望你能帮忙。所以我对 extJs 还比较陌生。我的左侧有一个导航栏。当我按下第一个按钮时,会打开一个新窗口,其中包含一个表并自动加载其数据。第一次它工作得很好,但是当我关闭窗口并再次打开它时,我收到错误“无法调用 null 的 getRange 方法”。

如果我打开第二个窗口(当我单击导航栏中的另一个按钮时),我有 4 个选项卡,每个选项卡包含一个表。每个选项卡都有一个带有按钮(创建、更改等)的工具栏。这里发生的事情与第一个窗口相同。我还可以将这些表打印为列表,第一次工作正常,但是当我取消打印操作时,我再次收到错误。

我确保所有按钮和表格都有不同的引用,所以我真的不知道这可能是什么。

有什么想法吗?

我添加面板,它将在此处打开新窗口:

items: [
{
xtype: 'tabpanel',
region: 'center',
items: [{
// 1. Tab
xtype: 'componentTap-panel',
title: UMA.Locale.rm.component.componentTitle,
id: 'componentTab'
}, {
// 2. Tab
title: UMA.Locale.rm.componentGroup.componentGroupTitle,
xtype: 'componentGroupTap-panel',
id: 'componentGroupTab'
}, {
// 3. Tab
title: UMA.Locale.rm.componentTemplateTitle,
xtype: 'componentTamplate-panel',
id: 'componentTemplateTab'
},
{
//4.Tab
title: UMA.Locale.rm.inventoryTitle,
xtype: 'inventoryTab-panel',
id: 'inventoryTab'
}
]
}

]

窗口打开时,我添加表格和工具栏:

items: [{
xtype: 'toolbar',
region: 'north',
reference: 'componentToolbar',
items: [{
text: UMA.Locale.rm.buttonCreate,
action: 'createComp'
}, {
text: UMA.Locale.rm.buttonChange,
action: 'changeComp'
}, {
text: UMA.Locale.rm.buttonMove,
action: 'moveComp'
}, {
text: UMA.Locale.rm.buttonDelete,
action: 'deleteComp'
},{
text: UMA.Locale.rm.buttonPrint,
action: 'print',
margin: {
left: 8

}, {
xtype: 'componentTable-panel',
region: 'center'
}, {
xtype: 'componentsFilter-panel',
width: 300,
region: 'east'
}]

然后自动加载我的表格:

items:[{
xtype: 'filtergrid',
reference: 'componentGrid',
paging: true,
hideHeaders: false,
region: 'center',
selModel: new Ext.selection.RowModel({
mode: "MULTI"
}),

store: {
model: 'Component',
autoLoad: true
},

columns: [{ ...

最佳答案

正如 Sergey Novikov 提到的,getRange() 是一种存储方法。我的网格商店也遇到了同样的错误,经过一次又一次的审查,我发现每当我关闭选项卡并再次重新打开它时,我都会得到 GridView 的两个实例(可以通过 grid.getView( )) 然后我得出的结论是,每当网格第二次创建时, GridView 的选择模型就会有两个实例,因为我将 selModel 的代码用作 new Ext.selection.CheckboxModel({
显示标题复选框:true,
宽度:50,
模式:“多”
})

然后我将 selModel 的代码更改为

selModel: {
selType: '复选框模型',
显示标题复选框:true,
宽度:50,
模式:“多”
}

并且错误对我来说已经消失了。希望对你有帮助。 :)

关于javascript - 如何处理ExtJs中的异常 "cannot call method getRange of null"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35196919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com