滚动两个ext.TabPanels在一起

时间:2012-09-11 19:18:05

标签: javascript extjs panel tabpanel

所以我一直在寻找过去一周的所有地方,但我找不到办法让两个“Ext.TabPanel一起滚动。

我正在使这个页面有Ext.Panel,它有两个项目:

var MyBorderPanel = new Ext.Panel({
    layout: 'border',
    renderTo: 'command_display',
    cls: 'auto-width-tab-strip',
    height:800,
    items: [
    {
        region: 'west',
        title: 'item1: <?=ui::getURLField("item1")?>',
        split: true,
        width: 500,
        minSize: 100,
        maxSize: 900,
        layout: 'fit', // specify layout manager for items
        items:   // this TabPanel is wrapped by another Panel
        baseTab
    },
    {
        region: 'center',
        title: 'item2 : <?=ui::getURLField("item2")?>',
        split: true,
        margins: '0 0 0 0',
        layout: 'fit', // specify layout manager for items
        items:            // this TabPanel is wrapped by another Panel
        compareTab
    }
]
});

这些项目:baseTab和compareTab描述如下:

var baseTab = new Ext.TabPanel({
    border: false, // already wrapped so don't add another border
    activeTab: 0, // second tab initially active
    items: [
    <?php
        $uihelper->perform("InitItem1Iteration");
        $comma = true;
        while($uihelper->hasNext("Item1Iteration"))
        {
            $uihelper->next("Item1Iteration");
    ?>      
    <?=(!$comma?",":"")?>
    {
        title: 'some php code',
        id: 'some php code',
        autoScroll: true,
        contentEl: 'some php code',
    }
    <?php 
    $comma = false;
    } ?>
    ]
});

类似于Item2。

现在基本上我想要的是。这两个选项卡面板都有滚动条,所以每当我滚动一个tabPanel时,我都想要它,另一个选项卡面板会自动滚动它。

甚至可能吗?

由于 安迪

2 个答案:

答案 0 :(得分:0)

简短回答,应该是......

您需要访问您感兴趣的特定容器的滚动条项目。

我会开始调查以下内容:

listeners: {
    scroller: {
        scroll: function(scroller, offset) {
            console.log(scroller, offset);
        }
    }
}

我知道容器定义了滚动条,但我不认为tabpanel有。所以这种听众必须被添加到每个项目中(或者项目可能会使事件冒泡,但未经测试)。

(当然,一旦你可以捕捉滚动事件设置,其他面板到相同的偏移量应该不难证明)

希望这至少可以为您提供进入的方向。

答案 1 :(得分:0)

你想看看卷轴,就像@zelexir所提到的那样。这是我的示例代码http://jsfiddle.net/YgTuc/1/的小提琴。这适用于两个面板,但对于TabPanel中的面板应该是相同的。