Форматирование данных
Как отформатировать данные прямо в хранилище. Для таблиц есть renderer, но мне нужно их использовать в комбобоксе. Т.е. у мея есть поля id и created. created - это время в секундах. Мне нужно получить в оптионах что то вроде: Запись № 1 [22.05.12].
Делаю так: listConfig: {itemTpl: 'Запись № {id} - <font color="#777777">[{created}]</font>'}, Нужно ещё как то отформатировать created |
var store = Ext.create("Ext.data.ArrayStore", { fields: [ { name: "id", type: "int" }, { name: "value", type: "date", dateFormat: "c" } ], proxy: { type: "memory", reader: { type: "array" } }, data: [ [ 1, "2012-04-19T14:55:13.123" ], [ 2, "2012-04-19T11:55:13.123Z" ], [ 3, "2012-04-20T19:00:00.000" ], [ 4, "2012-04-20T19:00:00.000Z" ] ] }); Ext.create("Ext.form.field.ComboBox", { store: store, valueField: "id", displayField: "value", queryMode: "local", editable: false, listConfig: { tpl: new Ext.XTemplate("<ul><tpl for=\".\"><li role=\"option\" class=\"" + Ext.baseCSSPrefix + "boundlist-item" + "\"><div>{value:date(\"d.m.Y\")}</div></li></tpl></ul>") }, renderTo: Ext.getBody() }); |
[{created:date("d.m.Y")}] так работает, только у меня дата в виде числа секунд, поэтому NaN.NaN.NaN |
Цитата:
tpl: new Ext.XTemplate("<ul><tpl for=\".\"><li role=\"option\" class=\"" + Ext.baseCSSPrefix + "boundlist-item" + "\"><div>{[Ext.Date.format(new Date(values.created*1000), \"d.m.Y\")]}</div></li></tpl></ul>") |
Ex_Soft,
круто, спасибо! |
Часовой пояс GMT +3, время: 01:07. |