2015-09-06 8 views
0

Я хочу скрыть элемент управления, основанный на свойстве. Поэтому я обрабатывать событие PostRender как этот Lightswitch PrintscreenПочему contentItem.value имеет значение null - Lightswitch

Но я получаю contentItem.value = нуль

Как я могу получить доступ к исходному объекту, так что я могу проверить свойство, которое будет скрывать контроль?

Благодаря

+0

Вы пытались вручную передать значение из того, что я предполагаю, это экран просмотра на экране просмотра? вы могли бы завершить это с созданным экраном событием .... – Crezzer7

+0

еще одна вещь, которую я спрашиваю перед отправкой ответа, вручную добавили ли вы таблицы в окне слева или нажали на внешние ссылки между таблицами ? или 2 таблицы не связаны через внешний ключ, но содержат общее поле? – Crezzer7

+0

@RonaldPaguay Помог ли мой предложенный ответ предоставить решение? –

ответ

1

На основе информации, предоставленной Вами это кажется, что на момент оказания контроля, его стоимость пока не обновляется.

Поскольку это не необычная ситуация, нормальный подход для обработки заключается в использовании функции DataBind Lightswitch, который будет использоваться следующим образом в вашем примере: -

myapp.ConfirmarRecepcion.GUIAItem_pagadoEntrega_postRender = function (element, contentItem) { 
    // Write code here. 
    contentItem.dataBind("value", function (value) { 
     if (value.Documento.id != 1) { 
      $(GUIAItem_pagadoEntrega).addClass(oculto); 
     } 
    } 
} 

Кроме того, если value.Documento относится связанному с ним объекту, вы должны использовать следующий подход, чтобы обеспечить его получение:

myapp.ConfirmarRecepcion.GUIAItem_pagadoEntrega_postRender = function (element, contentItem) { 
    // Write code here. 
    contentItem.dataBind("value", function (value) { 
     if (value) { 
      value.getDocumento().then(function (documento) { 
       if (documento && documento.id != 1) { 
        $(GUIAItem_pagadoEntrega).addClass(oculto); 
       } 
      }); 
     } 
    } 
}