答案 0 :(得分:1)
今天早些时候调查了类似的问题后,我怀疑你在微软的LightSwitch库中遇到了一个小漏洞。
如果您的表包含其可见性设置为false的任何列,并且导致列排序被单击列之前的隐藏列数偏移,则会出现此缺陷。
如果是这种情况,您可以通过删除隐藏列来解决它,或者,当Microsoft提供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文件中找到sortTableByColumn函数,并对其代码进行以下修订:
//var header = columnContentItems[cellIndex];
var header = columnContentItems.filter(function (item) {
return item.isVisible;
})[cellIndex];
通过对columnContentItems数组应用过滤器,此更改确保在访问由cellIndex参数标识的必需元素时仅考虑可见列。