ag-grid 排序不适用于其他第三方插件

ag-grid sorting is not working with another third party plugin

ag-grid 排序不适用于其他第三方插件。 Stimulsoft report.js 报告工具。

please find plunkr link for the same.

<html>
<head>
      <script src="https://unpkg.com/ag-grid@13.3.1/dist/ag-grid.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/stimulsoft-reports-js@2018.2.3/stimulsoft.reports.js"></script>

 </head>
 <body>

<div id="myGrid" style="height: 100%;" class="ag-fresh"></div>
<script src="main.js"></script>

</body>
</html>    

您的问题可能是由于 "Stimulsoft Reports.JS" 在 [=40] 中大量修改了原生原型(至少 String/ Array/Object) =],这几乎总是一个糟糕的想法。

换句话说,他们的代码很糟糕。

以下是一些支持链接:

至于怎么解决,不知道。弄清楚这一点需要很长时间的调查。

尝试将 Stimulshaft 东西放在 iframe 中,这样独自污染自己会很开心。

我什至不确定这就是原因,但可能是。可能是 ag-grid 可以做些什么来修复它,但这不是他们的问题。无论发生什么,都是 Stimulshaft 的错。

在农业网格中

      ComponentUtil.toNumber = function(value) {
            if (typeof value === 'number') {
                return value;
            } else if (typeof value === 'string') {
                return Number(value);
            } else {
                return undefined;
            }
        }

在 stimulsoft

Object.prototype.toNumber = function() {
   if (this.sti_is(String) && this.indexOf(",") >= 0)
      return Number(this.replaceAll(",", "."));
   return Number(this)
}

所以由于这种冲突排序无法进行。

然后我添加了下面几行然后解决了我的问题。

<script>
     Object.prototype.toNumber = undefined;
</script>