FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 4489|回复: 5
打印 上一主题 下一主题

首页的TabStrip 问题

[复制链接]
跳转到指定楼层
楼主
发表于 2012-4-20 13:23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yan 于 2012-4-20 13:24 编辑

我做不到像例子这样的效果

我点的每一个页面都会在浏览器的新标签打开。

<ext:Region ID="mainRegion" runat="server" Position="Center" Layout="fit" Margins="0 0 0 0"
                ShowHeader="false" Title="">
                <Items>
                    <ext:TabStrip ID="mainTabStrip" EnableTabCloseMenu="true" ShowBorder="false" runat="server">
                        <Tabs>
                            <ext:Tab ID="Tab1" Title="首页" Layout="Fit" Icon="House" runat="server">
                                <Items>
                                    <ext:ContentPanel ID="ContentPanel1" ShowBorder="false" BodyPadding="10px" ShowHeader="false" AutoScroll="true"
                                        CssClass="intro" runat="server">
                                        欢迎进入........................................
                                    </ext:ContentPanel>
                                </Items>
                            </ext:Tab>
                        </Tabs>
                    </ext:TabStrip>
                </Items>
            </ext:Region>


script type="text/javascript">
        var IDS = {
            mainTabStrip: '<%= mainTabStrip.ClientID %>'
        };
    </script>
    <script src="./js/default.js" type="text/javascript"></script>


default.js文件:
function onReady() {
    //var btnExpandAll = Ext.getCmp(IDS.btnExpandAll);
    //var btnCollapseAll = Ext.getCmp(IDS.btnCollapseAll);
    //var treeMenu = Ext.getCmp(IDS.treeMenu);
    var mainTabStrip = Ext.getCmp(IDS.mainTabStrip);
    //var windowSourceCode = Ext.getCmp(IDS.windowSourceCode);
//    // 点击全部展开按钮
//    btnExpandAll.on('click', function () {
//        treeMenu.expandAll();
//    });
//    // 点击全部折叠按钮
//    btnCollapseAll.on('click', function () {
//        treeMenu.collapseAll();
//    });

//    // 点击树节点
//    treeMenu.on('click', function (node, event) {
//        if (node.isLeaf()) {
//            // 阻止事件传播
//            event.stopEvent();
//            var href = node.attributes.href;
//            // 修改地址栏
//            window.location.hash = '#' + href;
//            // 新增Tab节点
//            addExampleTab(node);
//        }
//    });
    // 动态添加一个标签页
    function addExampleTab(node) {
        var href = node.attributes.href;
        // 动态创建按钮
        var sourcecodeButton = new Ext.Button({
            text: "源代码",
            type: "button",
            cls: "x-btn-text-icon",
            icon: "./res.axd?icon=PageWhiteCode",
            listeners: {
                click: function (button, e) {
                    windowSourceCode.box_show('./source.aspx?files=' + href, '源代码');
                    e.stopEvent();
                }
            }
        });
//        var openNewWindowButton = new Ext.Button({
//            text: '新标签页中打开',
//            type: "button",
//            cls: "x-btn-text-icon",
//            icon: "./res.axd?icon=TabGo",
//            listeners: {
//                click: function (button, e) {
//                    window.open(href, "_blank");
//                    e.stopEvent();
//                }
//            }
//        });
//        var refreshButton = new Ext.Button({
//            text: '刷新',
//            type: "button",
//            cls: "x-btn-text-icon",
//            icon: "./res.axd?icon=Reload",
//            listeners: {
//                click: function (button, e) {
//                    // 注意:button.ownerCt 是工具栏,button.ownerCt.ownerCt 就是当前激活的标签页。
//                    Ext.DomQuery.selectNode('iframe', button.ownerCt.ownerCt.getEl().dom).contentWindow.location.reload(); //.replace(href);
//                    e.stopEvent();
//                }
//            }
//        });
//        // 动态添加一个带工具栏的标签页
//        var tabId = 'dynamic_added_tab' + node.id.replace('__', '-');
//        var currentTab = mainTabStrip.getTab(tabId);
//        if (!currentTab) {
//            mainTabStrip.addTab({
//                'id': tabId,
//                'url': href,
//                'title': node.text,
//                'closable': true,
//                'bodyStyle': 'padding:0px;',
//                'iconCls': 'icon_' + href.replace(/[^.]+\./, ''),
//                'tbar': new Ext.Toolbar({
//                    items: ['->', sourcecodeButton, '-', refreshButton, '-', openNewWindowButton]
//                })
//            });
//        } else {
//            mainTabStrip.setActiveTab(currentTab);
//        }
//    }
    mainTabStrip.on('tabchange', function (tabStrip, tab) {
        if (tab.url) {
            //window.location.href = '#' + tab.url;
            window.location.hash = '#' + tab.url;
        } else {
            window.location.hash = '#';
        }
    });
    var HASH = window.location.hash.substr(1);
    var FOUND = false;
    (function (node) {
        var i, currentNode, nodes, path;
        if (!FOUND && node.hasChildNodes()) {
            nodes = node.childNodes;
            for (i = 0; i < nodes.length; i++) {
                currentNode = nodes;
                if (currentNode.isLeaf()) {
                    if (currentNode.attributes.href === HASH) {
                        path = currentNode.getPath();
                        treeMenu.expandPath(path); //node.expand();
                        treeMenu.selectPath(path); // currentNode.select();
                        addExampleTab(currentNode);
                        FOUND = true;
                        return;
                    }
                } else {
                    arguments.callee(currentNode);
                }
            }
        }
    })(treeMenu.getRootNode());

    window.addExampleTab = addExampleTab;
}



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2012-4-20 14:26:58 | 只看该作者
你的导航是啥样的?用什么方式实现的?
板凳
 楼主| 发表于 2012-4-20 22:20:04 | 只看该作者
Landroid 发表于 2012-4-20 14:26
你的导航是啥样的?用什么方式实现的?

左边是手风琴,点手风琴的节点就新建一个TAB在右边显示,就跟例子的一样。
地板
发表于 2012-4-20 22:39:55 | 只看该作者
用到tree了么?
用到的话,下面的不注释
  //var treeMenu = Ext.getCmp(IDS.treeMenu);

// 点击树节点
//    treeMenu.on('click', function (node, event) {
//        if (node.isLeaf()) {
//            // 阻止事件传播
//            event.stopEvent();
//            var href = node.attributes.href;
//            // 修改地址栏
//            window.location.hash = '#' + href;
//            // 新增Tab节点
//            addExampleTab(node);
//        }
//    });
5#
 楼主| 发表于 2012-4-20 22:53:30 | 只看该作者
Landroid 发表于 2012-4-20 22:39
用到tree了么?
用到的话,下面的不注释
  //var treeMenu = Ext.getCmp(IDS.treeMenu);

这个tree我是在后台创建的。
6#
发表于 2012-4-20 23:56:48 | 只看该作者
yan 发表于 2012-4-20 22:53
这个tree我是在后台创建的。

后台绑定的时候,给node添加onclientclick
详见帖子第7楼,
http://bbs.extasp.net/forum.php? ... mp;tid=197#lastpost
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-23 11:26 , Processed in 0.047836 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表