`

ExtJs中XTemplate的用法

阅读更多

 

1、 自动填充数组和作用域切换

 

          Ext.onReady(function(){
              var tpl=new Ext.XTemplate(
                 '<table border=1>',
                  '<tr><td>姓名</td><td>年龄</td><td>操作</td></tr>',
                  '<tpl for=".">',
                  '<tr><td>{name}</td><td>{age}</td><td></td></tr>',
                  '</tpl>',
                  '</table>'
                  ) ;
              var tplData=[
                  {name:'a',age:10},
                  {name:'b',age:20},
                  {name:'c',age:30},
                  {name:'d',age:40},
                  {name:'e',age:50},
              ];
              var panel=Ext.create('Ext.panel.Panel',{
                  title:'XTmplate',
                  width:1200,
                  height:300,
                  tpl:tpl,
                  renderTo:Ext.getBody()
              });
              tpl.append('tmp',tplData);
         });

 

代码中使用tpl 标签和for 运算符,本例中for运算符的值为“.”,表示指向当前对象,“..” 表示指向父对象,也可以直接写对象名,另外对数组的支持可以成批向模板中追加数据,

 

 

2、自动渲染简单数组

 

  
Ext.onReady(function(){
              var tpl=new Ext.XTemplate(
                 '<table border=1>',
                  '<tr><td>姓名</td><td>年龄</td><td>COM</td></tr>',
                  '<tpl for=".">',
                  '<tr><td>{#}</td><td>{.}</td><td>{.}</td></tr>',
                  '</tpl>',
                  '</table>'
                  ) ;
             
             var array=['a','b','c','d','e'];
             tpl.append('tmp',array);

         }) ; 

 

 

其中:{#} 代表行号,{.} 代表数组内容

 

 

3、在模板中执行任意代码

 

 

    Ext.onReady(function(){
              var tpl=new Ext.XTemplate(
                 '<table border=1 class=title>',
                  '<tr><td>序号</td><td>姓名</td><td>工资</td><td>奖金</td></tr>',
                  '<tpl for="emps">', 
                      '<tr class="{[xindex % 2==0? "even":"odd" ]}">',
                      '<td>{[xindex]}</td><td>{[values.name]}</td>',
                      '<td>{[values.wage*parent.per]}</td>',
                      '<td>{[Math.round(values.wage*parent.per/xcount)]}</td></tr>',
                      
                  '</tpl>',
                  '<tr><td>发薪时间</td><td colspan=3>{[fm.date(new Date,"Y年m月d日")]}</td></tr>',
                  '<tr><td>工资总计</td><td colspan=3>  </td></tr>',
                  '</table>'
                  ) ;
              
              
             var tplData={
                 per:0.9,
                 emps:[
                     {name:'a',wage:1000},
                     {name:'b',wage:200},
                     {name:'c',wage:100},
                     {name:'d',wage:10},
                     {name:'e',wage:897},
                     {name:'f',wage:110}
                 ]
             };
             tpl.append('tmp',tplData);
             
              
         });

 

其中:

    

values : 当前作用域下的值对象,通过切换子模板的作用域可以改变其中的值

 

parent:父模板的值对象

 

xindex:循环模板的索引

 

xcount: 循环模板时候的总循环次数

 

 

 

参考资料:    ExtJs中XTemplate使用     http://www.studyofnet.com/news/408.html

 

分享到:
评论

相关推荐

    extjsExtjs学习笔记——多个图片XTemplate排版居中,自动缩放处理

    在本文中,我们将深入探讨如何使用ExtJS的XTemplate来实现多张图片的居中排版和自动缩放处理。ExtJS是一个强大的JavaScript框架,它提供了丰富的组件和模板功能,帮助开发者构建用户界面。XTemplate是ExtJS中的一个...

    轻松搞定Extjs 带目录

    在Extjs中推荐使用`Ext.onReady`事件来确保页面的DOM完全加载后再执行脚本,这样可以保证脚本执行的正确性。 #### 6. 元素操作与模板 - **DomHelper类**: 提供了一种简洁的方法来创建和操作DOM元素。 - **...

    ExtJS中文手册.pdf

    - **新组件**:ExtJS 2引入了许多新的组件,如Grid、XTemplate、DataView等。 通过以上内容的详细介绍,我们不仅能够了解到ExtJS的基本用法,还能够深入掌握其高级特性,从而更加高效地利用ExtJS进行Web应用的开发...

    Extjs 计算器 javascript计算器

    在这个特定的项目中,“Extjs 计算器 javascript计算器”是利用ExtJS的XTemplate功能创建的一个模拟Windows简单计算器的Web应用。XTemplate是ExtJS提供的一种模板引擎,用于动态渲染数据到HTML元素中,使得我们可以...

    extjs模板的使用

    在实际开发中,熟练掌握 `Ext.XTemplate` 的使用能够提高页面的交互性和数据展示效率,使得前端界面更加灵活和智能化。通过合理的模板设计,开发者可以轻松地将后端提供的数据转化为用户友好的界面元素,从而提升...

    给Extjs的GridPanel增加“合计”行

    - 在自定义View的`onRender`方法中,找到GridPanel的DOM元素,然后根据模板创建合计行的DOM结构,并将其插入到合适的位置。 5. **实时更新合计行**: - 当数据动态添加或修改时,需要确保合计行的数据也同步更新...

    Extjs2.0中文文档

    这里也会提到Extjs的OOP特性和配置选项的使用方法。 2. **消息框的使用**:Ext.js提供了封装好的消息框组件,使开发人员可以非常方便地展示消息、警告、确认框等。文档会介绍各种不同类型的预定义消息框,例如提示...

    轻松搞定Extjs

    本章详细介绍了Extjs提供的多种消息框类型及其使用方法。 - **话说消息框**: 阐述了消息框的重要性及应用场景。 - **最简单的消息框——提示框**: 通过示例展示了如何创建一个基本的消息提示框。 - **输入框**: ...

    extjs中文教程

    ExtJS通过Ext.DomHelper类提供了对DOM元素的操作能力,通过Ext.XTemplate类支持模板的使用。这使得动态生成HTML片段和绑定数据变得更加简单高效。 ### 第六部分:格式化 ExtJS通过Ext.util.Format类提供了丰富的...

    解决extjs 桌面图标换行方法

    ### 解决ExtJS桌面图标换行方法 #### 知识点概述 本文档将详细介绍如何在ExtJS框架中实现桌面图标的自动换行功能。在许多应用中,特别是在模仿桌面环境的应用程序中,桌面图标(通常称为快捷方式)的布局至关重要...

    Extjs中文教程2.x

    - **添加**: 使用 `add()` 方法添加子组件到面板中。 #### 十三、Panel 的子类——Window 窗口 **13.1 Window 窗口** - **特点**: 弹出式的窗口,可以移动、最大化等。 - **示例**: `new Ext.window.Window({ ...

    Extjs 4.2分组小计

    使用`summaryRenderer`,结合Ext.XTemplate,可以创建包含多个统计信息和格式化的小计行。 总结,ExtJS 4.2的分组小计功能强大且灵活,能有效地帮助开发者构建具有数据分析功能的Web应用。通过理解并熟练运用上述...

    ExtJS效果Tabs形式

    例如,你可以创建一个Ext.XTemplate模板,并使用`loadRecord`方法加载数据模型到Panel中: ```javascript var template = new Ext.XTemplate( '&lt;div class="content"&gt;{name}&lt;/div&gt;', '&lt;p&gt;{description}&lt;/p&gt;' );...

    Extjs中文教程

    - 可以在`Ext.form.FormPanel`的`initComponent`方法中完成这些工作。 #### 十八、叹为观止的表格组件——GridPanel - **表格、表格面板** - GridPanel是Extjs中用于显示表格数据的组件。 - 支持分页、排序、...

Global site tag (gtag.js) - Google Analytics