如何防止列被拖出网格?

How can I prevent a column from being dragged out of the grid?

如何防止列被拖出网格并被删除?我仍然希望列可以拖动并重新排序,只是不想删除。

如果您不介意该列一直可见,您可以试试这个技巧。

gridOptions = {

        onColumnVisible: function(e,c){
            if(!e.visible){
                e.column.gridOptionsWrapper.columnController.setColumnVisible(e.column.colId, true)
            }
        }
    };

更简单的方法是使用lockVisible属性列。

您可以通过将其添加到 defaultColDef 或将其应用于单个列来将其应用于所有列。

gridOptions = {
  defaultColDef: {
    lockVisible: true // by default, all columns cannot be removed
  },
  columnDefs: [{
      field: 'myField',
    },
    {
      field: 'myRemovableField',
      lockVisible: false // this column can be removed
    },
  ]
}