Próbuję utworzyć FilterEditor za pomocą ExtJS. Użytkownik tworzy pewien zakres, porównanie, kryteria null/notnull i muszę przedstawić je w dobrze sformatowanym formacie, aby użytkownicy mogli łatwo odczytać ogólne kryteria.ExtJS XTemplate
W tym celu starałem się, aby Ext.DataView i XTemplates działały. Zastanawiam się jednak, czy mogę dostarczyć więcej niż jeden szablon, aby szablony można było utrzymywać, lub użyć wbudowanej funkcjonalności do wybrania fragmentu szablonu dla mnie.
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>'
wyjściowa:
Invoice Date not between 2011-01-01 2011-01-31
Invoice Date not null
Nie będzie wiele szablonów, myślę o dostarczenie pewnych redaktorów danych inline, więc najprawdopodobniej będzie to wzrost w liczbach. Wiem, że potrafię zrobić kilka prostych bloków, które mogą stać się duże i skomplikowane, więc chciałem trochę opinii, zanim się w to zagłębię.
więc to rozwiązanie sugeruje, że możemy korzystać z szablonów w szablonach :), który jest dość mocny. Zaleceniem Anohtera było użycie GridPanel zamiast DataView i użycie funkcji renderowania do zastosowania poprawnego szablonu w funkcji renderowania. – hazimdikenli