3

我有一个包含数千条记录的网格。该网格包含一个复选框列,每次我勾选该框时,它都会回发,导致它每次都重新加载并通过委托。这意味着每次您勾选此网格上的复选框时,您都必须等待几秒钟。对于想要选择多条记录的用户来说,这是一个问题,因为他们必须在每次点击之间等待几秒钟。我尝试设置 CommitChanges="False," 并没有真正帮助。这是 PXCheckBox 控件的本机行为吗?有什么办法可以关闭它吗?

4

2 回答 2

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>
于 2015-03-27T11:27:37.700 回答
0

我有同样的行为。为了避免它,我不得不编写阻止回发的javascript。

于 2015-03-26T21:45:46.463 回答