gpt4 book ai didi

javascript - Lightswitch HTML 客户端 : How to re-render an item (re-execute postRender callback)

转载 作者:太空宇宙 更新时间:2023-11-04 16:18:13 26 4
gpt4 key购买 nike

我正在使用 Visual Studio 2013 开发一个 lightswitch HTML 客户端。我有一个屏幕,上面有一个 tile list 客户,其中那些被标记为“高级”(这是一个 bool 字段客户实体)以橙色背景突出显示,而所有其他客户保持默认的灰色背景。

此外,“高级”标签会出现在该客户的磁贴底部。

用橙色突出显示“高级”客户是在屏幕代码隐藏文件中的“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");
}
});
};

Jan Van der Haegen 的“LightSwitch 移动商务应用程序简洁”一书免费提供 Syncfusion有一个很好的部分涵盖了这个领域(p63+“自定义控件:PostRendering”)。

如果您还没有读过 Jan 的这本优秀著作,我强烈建议您“拿起”一本,因为它是一个很好的资源。

关于javascript - Lightswitch HTML 客户端 : How to re-render an item (re-execute postRender callback),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30918741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com