[英]Lightswitch HTML Client: How to re-render an item (re-execute postRender callback)
我正在使用Visual Studio 2013開發一個lightswitch HTML客戶端。我的屏幕上有一個包含客戶平鋪列表的屏幕,其中標記為“高級”(這是客戶實體的布爾字段)的客戶用橙色背景突出顯示。 ,而所有其他客戶則停留在默認的灰色背景中。
另外,在該客戶的圖塊底部會顯示一個標簽“溢價”。
在屏幕文件后面的代碼中的“ CustomerRow_postRender ”處理函數中,以橙色突出顯示“高級”客戶,在此我檢查高級字段,然后將一個CSS類分配給圖塊。
我的問題 :
當我編輯客戶並通過DetailsScreen彈出窗口將其設置為“高級”時,我將其保存並返回到我的圖塊列表。
編輯后,標簽“ premium”出現在客戶圖塊中,就可以了。 但是背景不會變為橙色。 我發現,通過彈出屏幕從編輯返回后,“ postRender”功能將不會重新執行。
這個功能對我來說感覺很好。 但是,走哪條路呢? 我當前的解決方法是重新加載瀏覽器頁面(F5)-然后磁貼顯示為橙色。
感謝您的任何提示。
為了使其正常工作,您需要在表行的postRender例程中配置一個dataBind更改處理程序。 dataBind更改處理程序將監視確定高亮顯示的字段值的任何更新,並可以通過以下方式實現:-
myapp.BrowseCustomers.CustomerRow_postRender = function (element, contentItem) {
contentItem.dataBind("value.IsPremium", function (value) {
if (value) {
$(element).css("background", "orange");
} else {
$(element).css("background", "transparent");
}
});
};
可以從Syncfusion免費獲得的Jan Van der Haegen撰寫的“ LightSwitch Mobile Business Apps Succinctly ”一書中有一個很好的部分涵蓋了這一領域(p63 +“自定義控件:后期渲染”)。
如果您還沒有讀過Jan的出色著作,我強烈建議您“挑選”一份副本,因為它是一種很好的資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.