2014-12-19 5 views
-2

Я создаю пользовательскую кнопку в ListView. Затем я создаю новый объект, новая кнопка имеет нулевой идентификатор. См. snipet.Как установить id после создания нового объекта?

Шаги:

  1. нажмите кнопку Создать.
  2. Заполните форму.
  3. Нажмите save.
  4. Нажмите «Параметры» и нажмите «Оповещение».

     save: function(e) 
         { 
          // What i can do this, if i know id here? 
          e.model.id = ids++; 
         }, 
    

ответ

0

Обычно id возвращается сервером, но в вашем примере, где DataSource является локальным объектом можно вручную присвоить ему но вы должны назначить его на id не id. Т.е .: в вашем определении Смоделируйте id является code (не id) так save функция должна быть:

save: function(e) { 
    e.model.code = ids++; 
}, 

Ваш фрагмент модифицирована here

+0

Ваш snipet работа, но мой проект не работал. См. Некоторые экраны: http://prntscr.com/5iogss http://prntscr.com/5iohwx http://prntscr.com/5ioip9 http://prntscr.com/5ioj8i – nim

+0

Я нашел проблему. в функции сохранения я делаю async ajax-запрос, чтобы хранить данные на сервере. Если я сделаю запрос синхронизации, это нормально. Как я могу использовать async? – nim

+0

Почему бы не реализовать метод 'update' в определении' datastore'? Затем, когда асинхронный вызов ajax завершен, вы вызываете 'op.success' с аргументом, являющимся объектом с окончательным' id' (примечание: 'op' - это аргумент вашего метода' update'). – OnaBai

 Смежные вопросы

  • Нет связанных вопросов^_^