热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CooliteTablePanel使用

TabPanel控件使用非常简单,但是功能却非常强大,它同MenuPanel、TreePanel一样提供了很多的集合属性,可以定制出丰富的
      TabPanel控件使用非常简单,但是功能却非常强大,它同MenuPanel、TreePanel一样提供了很多的集合属性,可以定制出丰富的应用。其中用得最多的就是他的Tabs属性,用于定义子标签选项,可参考下图所示:
                   ctTabPanel.jpg

      其中content.html的代码如下代码片段,下图为运行效果截图:
None.gif<html xmlns&#61;"http://www.w3.org/1999/xhtml" >
None.gif
<head>
None.gif    
<title>title>
ExpandedBlockStart.gif    
<style type&#61;"text/css">
ExpandedSubBlockStart.gif    body
{font-size:12px;}
ExpandedBlockEnd.gif    
style>
None.gif
head>
None.gif
<body>
None.gifTabPanel控件学习
None.gif
body>
None.gif
html>
None.gif
                  ctTabPanel1.jpg

      TabPanel最灵活的是动态的创建子标签选项&#xff0c;想了解这个创建过程的实现原理请查阅我之前写的两篇文章(本文前面有文章连接),需要注意的是不能通过同步的事件驱动去创建&#xff0c;一但页面PostBack新创建的所有标签选项将被全部清除。如果一定要通过服务端后台代码去动态创建&#xff0c;可使用Coolite Toolkit所提供的AjaxEvent机制。
protected void CreataTab_Click(object sender, AjaxEventArgs e)
{
    var tab 
&#61; new Tab("通过AjaxEvent新增Tab");
    tab.TabIndex 
&#61; short.Parse("11");
    tab.ID 
&#61; "tabID";
    tab.AutoLoad.Url 
&#61; "http://www.cnblogs.com";
    tab.AutoLoad.NoCache 
&#61; true;
    tab.AutoLoad.Mode 
&#61; LoadMode.IFrame;
    
this.tabPanel.Tabs.Add(tab);
    
this.tabPanel.ActiveTab &#61; tab;
}
<ext:Button ID&#61;"btnCreateTab" runat&#61;"server" Text&#61;"动态添加子标签选项">
    
<AjaxEvents>
        
<Click OnEvent&#61;"CreataTab_Click">
            
<EventMask ShowMask&#61;"true" Msg&#61;"正在加载dot.gifdot.gif"/>
        
Click>
    
AjaxEvents>
ext:Button>

      个人觉得通过同步方式创建页面总是会晃动一下&#xff0c;闪着让人很不爽。推荐通过客户端动态添加子标签选项的方式创建&#xff0c;TabPanel提供了相应的客户端API来完成这些操作。
<ext:Button ID&#61;"btnClient" runat&#61;"server" Text&#61;"添加Tab(Client)">
    
<Listeners>
        
<Click Handler&#61;"addTab(#{tabPanel}, &#39;tabCnblogs&#39;, &#39;http://www.cnblogs.com&#39;);" />
    
Listeners>
ext:Button>

      通过Javascript方法addTab()方法动态创建&#xff0c;三个参数分别为&#xff1a;TabPanel控件ID&#xff0c;新创建的Tab的ID,西创建的Tab所呈现的内容路径。
<script type&#61;"text/Javascript">
    
function addTab(tabPanel, id, url) {
        
var tab &#61; tabPanel.getComponent(id);
        
if (!tab) {
            tab 
&#61; tabPanel.add({ 
                id: id, 
                title: url,
                closable: 
true,                    
                autoLoad: {
                    showMask: 
true,
                    url: url,
                    mode:
&#39;iframe&#39;,
                    maskMsg: 
&#39;正在加载dot.gifdot.gif &#39;
                }                    
            });
        }
        tabPanel.setActiveTab(tab);
    }
</script>


      客户端创建的方式是纯Ext的操作方式&#xff0c;TabPanel提供了API可直接获取指定id的子Tab是否存在&#xff0c;使用这一功能就可以完美的处理互斥&#xff0c;以创建出唯一的Tab子标签选项。
                  ctTabPanel2.jpg
      TabPanel使用得多的就是用来处理多标签选项卡&#xff0c;另外多数时候是用作容器&#xff0c;其容器功能和Panel、Window等基本相同。就拿上一篇文章中创建的树做示例吧&#xff0c;现在需要将树显示在TabPanel的一个子标签选项里&#xff0c;可以直接调用TabPanel的客户端API方法addTab将一个存在的容器类型控件添加到TabPanel&#xff0c;使其成为TabPanel的子Tab。

ContractedBlock.gifCode

                    ctTabPanel3.jpg

转:https://www.cnblogs.com/easypass/archive/2010/03/11/1683568.html



推荐阅读
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • 本文详细解析了ASP.NET 2.0中的Callback机制,不仅介绍了基本的使用方法,还深入探讨了其背后的实现原理。通过对比Atlas框架,帮助读者更好地理解和应用这一机制。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文详细探讨了 jQuery 中 `ajaxSubmit` 方法的使用技巧及其应用场景。首先,介绍了如何正确引入必要的脚本文件,如 `jquery.form.js` 和 `jquery-1.8.0.min.js`。接着,通过具体示例展示了如何利用 `ajaxSubmit` 方法实现表单的异步提交,包括数据的发送、接收和处理。此外,还讨论了该方法在不同场景下的应用,如文件上传、表单验证和动态更新页面内容等,提供了丰富的代码示例和最佳实践建议。 ... [详细]
  • 技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告
    技术日志:使用 Ruby 爬虫抓取拉勾网职位数据并生成词云分析报告 ... [详细]
  • 本文探讨了如何利用 jQuery 的 JSONP 技术实现跨域调用外部 Web 服务。通过详细解析 JSONP 的工作原理及其在 jQuery 中的应用,本文提供了实用的代码示例和最佳实践,帮助开发者解决跨域请求中的常见问题。 ... [详细]
  • 如何在页面底部添加倾斜样式效果? ... [详细]
author-avatar
西瓜凉皮大夏天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有