Обновление Datepickerfield от модели Sencha Touch - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть модель и хранилище, которые принимают значения из моих полей формы.Моя форма содержит текстовое поле, поле выбора, поле выбора даты и радиополе.

Я беру значения из формы и обновляю ими мою модель.Когда позже я загружаю модель в форму, значения снова появляются во всех компонентах, КРОМЕ поля datepicker.

Я использую прокси-сервер localalstorage.Я проверил значения в базе данных, дата отображается в следующем формате: «2011-12-13T18: 30: 00.000Z»

Я думаю, что это может быть проблемой.Может быть, поле datepicker не знает, как загрузить формат.Что я должен делать ??

Саша

Ответы [ 2 ]

0 голосов
/ 21 декабря 2011

То, что вы мне говорите, это способы форматирования даты, а не как это сделать ... Но дата по-прежнему не загружается и формат неверный.Нет, на самом деле я нашел ответ, это то, что вам нужно сделать:

  1. Ваш контроллер showForm (для загрузки даты в форме) должен выглядеть примерно так: showForm: function (params)) {

    //load the model necessary
    var model = BReimb.stores.ListStore.getAt(params.index);
    
    //load all fields except datepickerfield
    Ext.getCmp('formPane').load(model);
    Ext.getCmp('MainView').setActiveItem(1);
    
    //for datepicker field --> where the Ext.getCmp('date') is the id of my datepicker field in the form
    
    if(model.data.date != "")
        Ext.getCmp('date').setValue(new Date(model.data.date));
    
  2. Чтобы отформатировать дату, увеличьте ее с помощью itemTpl: itemTpl: '{date: date ("d MY")}'

Надеюсь, это кому-нибудь поможет: D

0 голосов
/ 16 декабря 2011

Вы можете конвертировать эти форматы даты в другие, используя код ниже. Первоначально установить шаблоны даты, например

Date.patterns = {
    ISO8601Long : "Y-m-d H:i:s",
    ISO8601Short : "Y-m-d",
    ShortDate : "n/j/Y",
    LongDate : "l, F d, Y",
    FullDateTime : "l, F d, Y g:i:s A",
    MonthDay : "F d",
    ShortTime : "g:i A",
    LongTime : "g:i:s A",
    SortableDateTime : "Y-m-d\\TH:i:s",
    UniversalSortableDateTime : "Y-m-d H:i:sO",
    YearMonth : "F, Y"
};

Затем примените эту модель даты следующим образом, т.е.

yourDate.format(Date.patterns.ISO8601Short);
yourDate.format(Date.patterns.FullDateTime);

Надеюсь, это поможет ...

...