EXTJS4,tabpanel和网格设置,使用网格rowclick打开新选项卡。它会覆盖每个旧选项卡

时间:2012-02-03 01:07:23

标签: grid extjs4 tabpanel

我实际上有两个问题,我会尝试分别解决它们。我有一个tabpanel,在Tab1中有一个Grid。当tabpanel打开时,Tab1中的Grid填充了来自对数据库的AJAX调用的数据。 Tab1没有关闭选项,因此网格保持填充和打开状态。我有一个rowEditor设置,这样当双击Grid中的一行时,它会打开一个新的Tab并使用一个新的网格填充新选项卡,该网格显示Tab1中网格中单击的记录项的详细内容。

现在,如果我从Tab1双击网格中的记录,则会打开一个新选项卡(Tab2),并且单击的记录的详细信息将填充在Tab2网格中,并且它可以正常工作。现在,如果我在Tab1中单击Grid中的另一条记录,则会打开一个新选项卡(Tab3),并填充从Tab1单击的该记录的详细结果。问题是现在Tab3打开了Tab3的结果已经覆盖了Tab2中的结果。我填入tab2的数据在哪里消失了,如何确保在每个新标签页面中显示每个新的详细记录?看起来每个正在打开的新选项卡都会在每个新选项卡上附加新数据,而我正在覆盖。

理想情况下,我希望Tab1中的Grid打开一个记录索引,每次双击一条记录会打开一个新的tabpanel,并点击该记录的详细结果。

我的第二个问题是当我关闭一个标签时,我发现当我没有告诉它刷新时,Tab1中的网格是刷新的。因此我收到错误,因为我没有在Tab1中传递Grid的必需参数来刷新。

1 个答案:

答案 0 :(得分:0)

我的猜测是你从多个标签中引用了相同的商店或相同的网格配置。相反,您要做的是在打开的每个选项卡中分别包含网格和存储的实例。这样你就不会碰撞。

选项卡更改时网格重新加载的问题很奇怪,因为这不是默认行为。检查您的tabpanel配置和监听器是否有任何过度重新加载。