在详细信息选择器中显示超过15行

时间:2016-01-13 18:33:04

标签: jquery html5 jquery-mobile visual-studio-lightswitch lightswitch-2013

关于Lightswitch HTML5详细信息选择器的文档here

  

自动完成框上的搜索字符串至少需要3个字符才能触发搜索操作,并且结果窗格中会显示前15个结果。如果用户希望查看实体中的所有条目(在我们的情况下是客户),他们可以通过单击“+”按钮来执行此操作,这将显示传统的详细模式选择器对话框。

有没有办法将15个结果限制更改为其他数字?

1 个答案:

答案 0 :(得分:1)

虽然15个结果限制被硬编码到LightSwitch库中,但由于Microsoft提供了此库的源代码,因此可以轻松修改。

虽然对许多更高级的LightSwitch开发人员来说,微软LightSwitch库的这种修改并不常见,但如果你决定实现这一点,你需要彻底测试任何变更。不良副作用。此外,如果您升级LightSwitch的版本,则需要在新版本中重复库修改。

如果您要进行此更改,则需要通过在HTML客户端的default.htm文件中进行以下更改来引用LightMwitch库的未缩小版本(从库脚本引用的末尾删除.min:

<!--<script type="text/javascript" src="Scripts/msls-?.?.?.min.js"></script>-->
<script type="text/javascript" src="Scripts/msls-?.?.?.js"></script>

上面一行中的问号将与您正在使用的LightSwitch版本有关。

然后,您需要找到并更改Scripts / msls中的硬编码引用 - ?。?。?。js文件,如下所示:

        if (applySearchFilter) {
            search = me.search;
            //itemLimit = 15;
            itemLimit = 30;
        }

或者,如果您想在此增强功能中引入灵活性元素,则可以对Scripts / msls进行以下修订 - ?。?。?。js文件:

        //if (visualCollection._loader._itemLimit !== itemLimit) {
        //    visualCollection._loader._itemLimit = itemLimit;
        //}
        if (!visualCollection._loader._itemLimit) {
            visualCollection._loader._itemLimit = itemLimit;
        }

然后,根据具体情况,您可以在DetailsPicker的postRender例程中实现以下语句:

myapp.AddEditScreen.DetailsPicker_postRender = function (element, contentItem) {
    // Write code here.
    contentItem.choicesSource._loader._itemLimit = 30;
};