<AgGridReact
rowSelection="multiple"
rowData={rowData}
>
<AgGridColumn field="make" sortable={true} filter={true} checkboxSelection={true}></AgGridColumn>
<AgGridColumn field="model" filter={true}></AgGridColumn>
<AgGridColumn field="price" sortable={true}></AgGridColumn>
</AgGridReact>
const [gridOptions, setGridOptions] = useState({
columnDefs: [
{
field: 'make',
headerName: "Make"
},
{
field: 'model',
headerName: "Model",
filter: true
},
{
field: 'price',
headerName: "Price",
sortable: true
}
]
}, [])
<AgGridReact gridOptions={gridOptions} rowData={rowData}></AgGridReact>
const [columnDefs, setColumnDefs] = useState([
{
field: 'make',
headerName: "Make"
},
{
field: 'model',
headerName: "Model",
filter: true
},
{
field: 'price',
headerName: "Price",
sortable: true
}
], [])
<AgGridReact columnDefs={gridOptions.columnDefs} rowData={rowData}></AgGridReact>
const deleCol = () => {
setGridOptions({
columnDefs: [
{
field: 'make',
headerName: "Make"
},
{
field: 'price',
headerName: "Price",
sortable: true
}
]
})
}
//列定义
const [columns, setColumns] = useState(columnsWithState);
// 使用State更新列
const newColumns = [...columnsWithState];
newColumns[0]['dirty'] = new Date().getMilliseconds();
setColumns(newColumns);
有状态属性 | 初始属性 | 描述 |
---|---|---|
width | initialWidth | 列的宽度 |
flex | initialFlex | 用于设置此列宽度的flex值 |
hide | initialHide | 是否应隐藏此列 |
pinned | initialPinned | 是否应固定此列 |
sort | initialSort | 应用于此列的排序 |
sortIndex | initialSortIndex | 应用排序的顺序(如果是多列排序 |
rowGroup | initialRowGroup | 此列是否应为行组 |
rowGroupIndex | initialRowGroupIndex | 此列是否应为行组以及按什么顺序 |
pivot | initialPivot | 如果此列应该是枢轴 |
pivotIndex | initialPivotIndex | 此列是否应该成为枢轴,以什么顺序排列 |
aggFunc | initialAggFunc | 通过行分组或数据透视来聚合此列的函数 |
例如,该设置pinned=null将清除固定在列上的固定,而 pinned=undefined意味着网格将保留该列的固定状态
鉴于field不是唯一标识符,网格将使用以下规则来匹配列:
要使网格正确匹配Columns,请确保每个Column具有a field或colId。
更新列定义或通过网格UI交互产生变化,将引发列事件。
<AgGridReact
onSortChanged={e => console.log('Event Sort Changed', e)}
onColumnResized={e => console.log('Event Column Resized', e)}
onColumnVisible={e => console.log('Event Column Visible', e)}
>
{ columns.map(column => <AgGridColumn {...column}></AgGridColumn>)}
</AgGridReact>
// 为了抑制调用时引发的事件,请applyColumnState() 设置grid属性
// suppressColumnStateEvents=true。
gridOptions.api.getColumnDefs();