Angular 剑道网格角度列基于orderIdex的自定义顺序

Angular 剑道网格角度列基于orderIdex的自定义顺序,angular,kendo-grid,kendo-ui-angular2,Angular,Kendo Grid,Kendo Ui Angular2,我有一个模型,其中包含字段、标题和顺序索引。我想根据剑道网格中的顺序索引(而不是数组的顺序)加载列。动态添加数据和字段 字段: [{字段:“产品名称”,标题:“产品名称”,orderIndex:0},{字段:“金额”,标题:“金额”,orderIndex:1}] 数据: [{“产品名称”:“笔记本电脑-1”,“金额”:1000},{“产品名称”:“笔记本电脑-2”,“金额”:1500}] 使用and(columnReorder)=“columnReorder($event)” 我已尝试colum

我有一个模型,其中包含字段、标题和顺序索引。我想根据剑道网格中的顺序索引(而不是数组的顺序)加载列。动态添加数据和字段

字段: [{字段:“产品名称”,标题:“产品名称”,orderIndex:0},{字段:“金额”,标题:“金额”,orderIndex:1}]

数据: [{“产品名称”:“笔记本电脑-1”,“金额”:1000},{“产品名称”:“笔记本电脑-2”,“金额”:1500}]

使用and(columnReorder)=“columnReorder($event)”


我已尝试columnReorder事件,但未按预期工作。有什么方法可以显示基于orderIdex的列吗?

因为您是通过
ngFor
生成这些列的,所以元素的创建顺序将与数组中的项目相同。
为了根据
orderIndex
显示列,需要对数组本身进行排序。()

基本上你必须这样做:

this.columns=fields.sort((a,b)=>a.orderIndex-b.orderIndex);