0

如记录here有关的LightSwitch HTML5细节选取器:显示超过15行的详细信息选择器

搜索字符串的自动完成框,至少需要3个字符,以触发搜索操作和前15个结果显示在结果窗格中。如果用户希望查看实体中的所有条目(本例中为客户),则可以通过单击“+”按钮来进行操作,该按钮将显示传统的详细模式选取器对话框。

有没有办法将15个结果限制更改为不同的数字?

回答

1

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

虽然对许多更高级的LightSwitch开发人员来说,对微软LightSwitch库的这种修改并不少见,但如果您决定实施这个方案,则需要彻底测试更改是否存在任何不良副作用。另外,如果升级LightSwitch的版本,则需要在新版本中重复库修改。

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

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

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

然后,你需要找到和脚本/ MSLS改变硬编码的参考 - js文件如下:?。?。?。

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

另外,如果你想?。?。?。引入一定的灵活性进入该增强,您可以改为进行以下修改到脚本/ 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; 
}; 
+0

非常好。谢谢。 – Yishai

+0

@Yishai很高兴它是有用的 - 我也更新了我的帖子,包括一个更灵活的方法更多的信息 –