ag-grid sort不能与另一个第三方插件一起使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ag-grid sort不能与另一个第三方插件一起使用相关的知识,希望对你有一定的参考价值。

ag-grid sort不能与另一个第三方插件一起使用。 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”在javascript中严重修改了原生原型(至少String / Array / Object),这几乎总是一个糟糕的主意。

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

以下是一些支持链接:

至于如何解决它,不知道。这是一个长期的调查,以解决这个问题。

尝试将刺激的东西放在iframe中,这样可以让自己感到高兴和独立。

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

另一答案

在ag-grid中

      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>

以上是关于ag-grid sort不能与另一个第三方插件一起使用的主要内容,如果未能解决你的问题,请参考以下文章

将 ag-grid 与 flexbox 一起使用

Android Kotlin 不能将 list.sort() 与 lambda 一起使用

与 Angular 材质选项卡一起使用时,Ag-Grid Cell Render 无法正确显示按钮

与 ember.js 中的模态叠加一起使用时,ag-grid 调整列的大小需要很长时间才能响应

为啥没有使用 vuejs 将新行添加到 ag-grid?

ag-grid cellRendererFramework 不能在角度工作