2016-04-14 5 views
0

Web IDE ile standart uygulama uygulamasını özelleştiriyorum ve bu uygulamada ihtiyacım var.SetVisible() yöntemi ile json modeli ile öğenin görünür özelliğini nasıl belirlenir

Tek bir onay kutusu eklemek istiyorum ve onay kutusunun seçiminde mevcut giriş alanlarından biri gösterilmeli veya gizlenmelidir. Birden çok ekranda aynı alan var. Bu yüzden, çoklu ekranlara onay kutusu eklemeliyim. Ancak, bir ekranda seçildiğinde, diğerine de yansıtılmalıdır.

Yaptığım şey budur.

Init yönteminde, onay kutusunu eklemek için javascript kodunun altına yazdım.

  if(!this.oOtherDate) 
      { 
       var that = this; 
       this.oOtherDate = new sap.m.CheckBox("cOtherDelDate", { 
        text: "{i18n>OTHER_DELIVERY}", 
        selected: "{path : 'soc_cart>/showRddInput'}", // This carries the checkbox selection to other pages. It is JSON model. 
        select: function(oEvent) { 
         var checked = oEvent.getParameters().selected; 
         oModelList.getData().showRddList = !checked; 
         oModelList.getData().showRddInput = checked; 
        } 
       }); 

     } 

Yukarıdaki kodda, onay kutusunun seçim olayında, iki JSON özelliğini ayarlıyorum. Bir onay kutusu değeri ve diğeri de bir öğeyi gizlemek ve tersini yapmak.

Bu noktaya kadar, her şey iyi çalışıyor. AMA, şimdi, "showRddList" JSON özellik değerini öğenin görünür özelliğine nasıl bağlayabilirim?

Aşağıdakini yapmaya çalıştım ama hata veriyor: this.byId ("Field1"). SetVisible ("{path: 'soc_cart>/showRddList'}");

setVisible() yöntemi, boolean değerini bekler ve kodun üst satırında dize değeri olarak kabul eder.

FYI ... XML görünümünde gizlenmesi gereken öğe tanımlanır ve görünümünde bağlayıcı özelliği belirtmek için görünümü genişletemez veya özelleştiremeyiz. Yani, onu sadece kontrol cihazından ayarlamalıyım.

Görünen özelliği denetleyiciden varolan öğeye ayarlama olanağı var mı?

Teşekkürler.

+0

Yanıt aradığınız şey miydi? Öyleyse, diğerlerinin faydalanabilmesi için lütfen kabul edin veya yorum yapın ve sorular çözülmüş olarak işaretlenebilir. – cschuff

cevap

1

Aradığın şey, Giriş'in bindProperty yöntemidir.

this.byId("Field1").bindProperty("visible", { 
    "soc_cart>/showRddList" 
}); 
İlgili konular