首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExtJS XTemplate

ExtJS XTemplate
EN

Stack Overflow用户
提问于 2011-02-16 00:18:59
回答 2查看 23.8K关注 0票数 14

我正在尝试使用ExtJS开发一个FilterEditor。用户创建了一些范围,比较,空/非空标准,我需要以格式良好的格式呈现它们,以便用户可以轻松阅读整体标准。

为此,我认为Ext.DataView和XTemplates会做到这一点。但我想知道我是否可以提供多个模板来使模板可维护,或者使用一些内置功能为我选择模板的一部分。

代码语言:javascript
复制
   var dateRangeTpl = new Ext.XTemplate(
   '<tpl for=".">',
        '<div id="{CriteriaId}">',
            '<em>{FieldName} </em>',
            '<span>{Modifier} </span>',
            '<span>{Condition} </span>',
            '<span>{LeftDate} </span>',
            '<span>{RightDate} </span>',
        '</div>',
    '</tpl>',
    '<div class="x-clear"></div>'

   var notNullTpl = new Ext.XTemplate(
   '<tpl for=".">',
        '<div id="{CriteriaId}">',
            '<em>{FieldName} </em>',
            '<span>{Modifier} </span>',
            '<span>{Condition} </span>',
        '</div>',
    '</tpl>',
    '<div class="x-clear"></div>'

输出:

代码语言:javascript
复制
Invoice Date not between 2011-01-01 2011-01-31
Invoice Date not null

将有很多模板,我正在考虑提供一些内联数据编辑器,所以很可能这将在数量上增长。我知道我可以做一些简单的块,它可能会变得很大和复杂,所以在我潜入其中之前,我想要一些意见。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-16 22:52:47

我认为模板最强大的方面是可以在模板中调用的模板成员函数。有了这些,可能性是无限的。例如,您可以使用它们在主模板中呈现其他子模板:

代码语言:javascript
复制
var mainTpl = new Ext.XTemplate(
  '<tpl for=".">',
    '<div class="container">',
      '{[this.renderItem(values)]}',
    '</div>',
  '</tpl>',
  {
    renderItem: function(values) {
      if (values instanceof DateRange) {
        return dateRangeTpl.apply(values);
      }
      else {
        return notNullTpl.apply(values);
      }
    }
  }
);

有关模板的详细信息,请查看Sencha会议视频:Advanced Templates for Ext JS

票数 21
EN

Stack Overflow用户

发布于 2016-07-15 14:07:15

模板也在网格上的行扩展器中。

请找到下面的代码,我在我的项目中使用。

代码语言:javascript
复制
  this.expander = new Ext.grid.RowExpander({
  tpl : new Wtf.XTemplate(
  '<table border="0" class="iemediumtablewidth" >',
  '<tr>',
  '<td class="iedaynametd" width="200">',
  '<table border="0">',
  '<tr align="center">',
  '<th><b>'+values+'</b></th>',
  '</tr>',
  '<tpl for="dayname">',
  '<tr align="left">',
  '<td>',
  '{.}',
  '</td>',
  '</tr>',
  '</tpl>',
  '</table>',
  '</td>',
  
  )};

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5006273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档