Estoy intentando desarrollar un FilterEditor usando ExtJS. usuario crea algunos criterios de rango, comparación, null/notnull y tengo que presentarlos en un formato con formato correcto, para que los usuarios puedan leer los criterios generales fácilmente.ExtJS XTemplate
Para esto, pensé que Ext.DataView y XTemplates harían el truco. Pero me pregunto si puedo proporcionar más de una plantilla para mantener las plantillas, o usar alguna funcionalidad incorporada para seleccionar una parte de la plantilla para mí.
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>'
de salida:
Invoice Date not between 2011-01-01 2011-01-31
Invoice Date not null
Habrá una gran cantidad de plantillas, estoy pensando de proporcionar algunos editores de datos en línea, por lo que muy probablemente esto va a crecer en número. Sé que puedo hacer algunos bloqueos simples que pueden crecer grandes y complicados, así que quería algunas opiniones antes de sumergirme en ellas.
lo que esta solución sugiere que podemos utilizar plantillas en las plantillas :) que es bastante potente. La recomendación de Anohter era usar GridPanel en lugar de DataView y usar la función de renderizador para aplicar la plantilla correcta en la función de renderizado. – hazimdikenli