angular - 如何在 aAG Grid(ag-grid)中使一行有条件地可拖动?
解决方案
根据文档:https ://www.ag-grid.com/javascript-grid/row-dragging/#enabling-row-dragging
rowDragcallback 函数有如下接口:
// 启用/禁用 RowDrag 函数 rowDragFunction(params: RowDragCallbackParams) => boolean;
// 参数接口 interface RowDragCallbackParams { node: RowNode; 数据:任何;列:列;colDef:ColDef;上下文:任何;api:网格API;列API:列API;}
所以你应该提供一个回调到rowDrag
. 要确定是否选择了一行,您可以调用node.isSelected()
:
rowDrag: params => params.node.isSelected(),
选择一行时,您需要通过致电事件来刷新Rowdragapi.redrawRows
回调selectionChanged
:
onSelectionChanged(event) {
this.gridApi.redrawRows();
}
在这里看到这个实现:https ://stackblitz.com/edit/ag-grid-angular-hello-world-cmda8j?file=src%2Fapp%2Fapp.component.ts
推荐阅读
- python - 如何确保每次拟合模型时随机初始化 Keras 模型权重
- r - R中char中的下标
- xamarin - 如何在 Xamarin 中的一行内的每一列中居中图像?
- java - 无法在模拟器中播放声音
- postgresql - Postgres 在 jsonb 嵌套数组中找到
- java - 客户端未启用或不支持 TLSv1
- linux - 尝试在 ceph-cluster 上创建 testbucket 后 s3cmd 失败
- r - kernlab::ksvm 产生“多个形式参数”错误
- solr - Solr 突出显示错误的单词
- swift - 水平滚动的 UICollectionView 垂直 ContentOffset 问题