我有一个包含数千条记录的网格。该网格包含一个复选框列,每次我勾选该框时,它都会回发,导致它重新加载并每次都通过代理。这意味着每次勾选此网格上的复选框时,您都需要等待几秒钟。对于想要选择多个记录的用户来说,这是一个问题,因为他们必须在每次点击之间等待几秒钟。我尝试设置CommitChanges =" False,"这并没有真正帮助。这是PXCheckBox控件的本机行为吗?有没有办法把它关掉?
答案 0 :(得分:1)
在PXGrid的网格声明下面,我写了以下内容:
</px:PXGrid>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
function checkDOMChange() {
disableGridCheck();
setTimeout(checkDOMChange, 100);
}
$(function () {
checkDOMChange();
});
function disableGridCheck() {
$("[icon='GridUncheck']").on("click", function (elem) {
$(this).attr("check", "1");
$(this).attr("icon", "GridCheck");
$($(this).children()[0]).attr("class", "control-icon-img control-GridCheck");
return false;
});
$("[icon='GridCheck']").on("click", function (elem) {
$(this).attr("check", "0");
$(this).attr("icon", "GridUncheck");
$($(this).children()[0]).attr("class", "control-icon-img control-GridUncheck");
return false;
});
}
</script>
答案 1 :(得分:0)
我有同样的行为。为了避免这种情况,我不得不编写阻止回发的javascript。