Angular ag grid不考虑ColumnDefinitions中设置的列的列顺序

Angular ag grid不考虑ColumnDefinitions中设置的列的列顺序,angular,ag-grid,ag-grid-angular,Angular,Ag Grid,Ag Grid Angular,根据ag grid,列顺序将遵循列定义中指定的顺序 但在使用ag栅格时,这不起作用。某些列将首先显示,即使它们是在列定义的末尾指定的。请看一些示例代码 // grid.ts // helper function to generate a definition of a single column function generateColDef() { return { ... }; } // helper function to dynamically generate ColDef

根据ag grid,列顺序将遵循列定义中指定的顺序

但在使用ag栅格时,这不起作用。某些列将首先显示,即使它们是在列定义的末尾指定的。请看一些示例代码

// grid.ts
// helper function to generate a definition of a single column
function generateColDef() {
    return { ... };
}

// helper function to dynamically generate ColDefs
export function getColDef(someArgs) {
    const someDynamicCols = someArgs.map((arg) => {
        return generateColDef(.....);
    })
    const colDefs = [
        slColumn,   // A column to show serial number
        generateColDef('id', 'ID', {
            editable: false,
        }),
        generateColDef('name', 'Name', {
            editable: false,
        }),
        ...someDynamicCols,
    ];
    return colDefs;
}

// html
<ag-grid-angular [columnDefs]="colDefs" [rowData]="rowData | async">

// component
args = { some args fetched from server }
colDefs = grid.getColDef(args);
rowData = { some data fetched from server }
//grid.ts
//helper函数生成单个列的定义
函数generateColDef(){
返回{…};
}
//用于动态生成文件的辅助函数
导出函数getColDef(someArgs){
const someDynamicCols=someArgs.map((arg)=>{
返回generateColDef(…);
})
常数f=[
slColumn,//显示序列号的列
generateColDef('id','id','{
可编辑:false,
}),
generateColDef('name','name','{
可编辑:false,
}),
…一些动态摄影机,
];
返回F;
}
//html
//组成部分
args={从服务器获取的某些args}
colDefs=grid.getColDef(args);
rowData={从服务器获取的某些数据}
我所期望的是“ID”和“Name”列将首先显示,然后将显示其余的
someDynamicCols
。但是ag grid有时会先显示
someDynamicCols
,然后显示'ID'和'Name'列

我尝试使用ag grid API来设置colDefs,而不是使用双向绑定,但结果保持不变

有人能解释一下问题是什么吗?是ag网格API还是我做错了什么


我正在使用角度为10的最新ag网格(24.0.0)。经过很长时间,我找到了这个问题的答案。我正在添加解决方案,以防它对其他人有帮助

问题是,我正在用一些初始列初始化列定义。因此,当我添加一个新列时,ag grid将初始列保留在原来的位置,并在它们之后添加新列。这是默认的ag栅格行为

要覆盖此行为并使ag网格始终遵循列顺序,请在网格选项中将
applyColumnDefOrder
属性设置为
true


ag grid文档中提到了这一点:

您能否创建一个小的plunkr或stackblitz来重现您的问题。这看起来像是调试问题。我的用例使得构建plunkr有点困难。但我会尝试添加一个。感谢您的建议,只需尝试添加足够小的代码即可重现问题,这将便于此处的人员进行调试。您是一名救生员,它对您有效您需要使用24.0.0或更高版本才能使用此属性。