列标题和列无序,并且使用Chrome中的最新网格组件进行匹配

时间:2018-01-26 22:39:16

标签: angular kendo-grid kendo-ui-angular2

将角度网格组件更新为版本~1.7后,当我在网格中显示数据时,列无序,列标题不再与列中的数据匹配。我花了相当多的时间进行测试,以下是我的发现:

  • 如果我将列数限制为10,则可以正常工作。将列数增加1到11会导致它失败。
  • 同样的页面在Internet Explorer 11和最新的Firefox中运行良好。
  • 列标题的顺序不是随机的。每次加载数据时,列标题都会以完全相同的方式出现故障。
  • 网格列的顺序虽然不符合标题的顺序,但也不是随机的。每次加载数据时,它们都会以完全相同的方式出现故障。
  • 我正在使用一些逻辑来根据列是否是第一列显示不同的数据模板



<kendo-grid-column *ngFor="let column of columndefinitions; let first = first" ...
&#13;
&#13;
&#13;

单元格模板如下所示:

&#13;
&#13;
<ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
   <div>
      <a *ngIf="first" class="cellanchor">{{dataItem[column.name]}}</a>
      <span *ngIf="!first">{{dataItem[column.name]}}</span>
   </div>
</ng-template>
&#13;
&#13;
&#13;

即使列不按顺序显示,应该是第一列的列显示在第二列中,但它使用锚点dom节点,就像它在第一列中一样。总而言之,第一列的数据显示为锚点,但实际上显示在第二列,而不是第一列。

我仍在进行进一步的研究,但我希望这些信息能够让某人发现潜在的问题。

其他资料(1/29): 有关此问题的更多信息:在Chrome中:如果我在浏览器调试工具中询问网格组件的属性,我会注意到&#34;列中字段的顺序&#34;属性是预定的顺序。 &#34; columnList&#34;中字段的顺序property是为网格内容显示的顺序,它与&#34;列&#34;不匹配。属性或网格的标题。 在Internet Explorer中(网格似乎正常工作):&#34;列中的字段顺序&#34; property匹配&#34; columnList&#34;属性也与标题匹配。

为什么columnList属性包含从一个浏览器到下一个浏览器的不同字段顺序?

我创建了一个GitHub问题来跟踪此问题:https://github.com/telerik/kendo-angular/issues/1265

1 个答案:

答案 0 :(得分:0)

如果有人遇到此问题,请务必将kendo-data-query软件包升级到最新版本。这将消除这个问题。在撰写本文时,最新版本是kendo-data-query软件包的1.1.2。感谢Progress的工作人员提供帮助!!