簡體   English   中英

Lightswitch HTML客戶端:如何重新呈現項目(重新執行postRender回調)

[英]Lightswitch HTML Client: How to re-render an item (re-execute postRender callback)

我正在使用Visual Studio 2013開發一個lightswitch HTML客戶端。我的屏幕上有一個包含客戶平鋪列表的屏幕,其中標記為“高級”(這是客戶實體的布爾字段)的客戶用橙色背景突出顯示。 ,而所有其他客戶則停留在默認的灰色背景中。

另外,在該客戶的圖塊底部會顯示一個標簽“溢價”。

在屏幕文件后面的代碼中的“ CustomerRow_postRender ”處理函數中,以橙色突出顯示“高級”客戶,在此我檢查高級字段,然后將一個CSS類分配給圖塊。

我的問題

當我編輯客戶並通過DetailsS​​creen彈出窗口將其設置為“高級”時,我將其保存並返回到我的圖塊列表。

編輯后,標簽“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM