拖放不适用于 ag-grid-angular
Drag and drop is not working on ag-grid-angular
我在枢轴模式下使用 ag 网格 angular。我面临的问题是无法拖放行、值和列区域中的列。我可以通过 ts 文件在这些区域中添加列,但不能通过拖放从 UI 添加列。我可以从这些区域中删除任何列,但不能添加和列。这是ag代码。
<ag-grid-angular #agGrid
style="width: 90%; height: 500px; margin-top: 30px;"
id="myGrid"
[rowData]="rowData"
class="ag-theme-balham"
[columnDefs]="columnDefs"
[enableColResize]="true"
[enableSorting]="true"
[sideBar]="sideBar"
[defaultColDef]="defaultColDef"
[pivotMode]="true"
[statusBar]="statusBar"
[enableRangeSelection]="true"
enableRowGroup="true"
dragAndDrop =" true"
[animateRows]="true"
(gridReady)="onGridReady($event)"></ag-grid-angular>
任何人都可以告诉我我在这里缺少什么。
类似问题的 Plunker:https://plnkr.co/edit/xtPbAztpG14bleAF9bgy?p=preview
在 ag-grid 模式下,您无法拖放行。但是,您可以通过在鼠标悬停(鼠标悬停)上动态添加 draggable=true 来使行可拖动通过 dom 获取单元格 ID 并使其可拖动。
A simple code would be
// This method is used to handle the drag row functionality in ag-grid. It adds the draggable event to rows in grid.
this.gridOptions.onCellMouseOver = (dragEvent: any) => {
if (dragEvent.event.target && dragEvent.event.target.offsetParent.classList.contains('ag-row')) {
dragEvent.event.target.offsetParent.setAttribute("pdraggable", "data");
dragEvent.event.target.offsetParent.setAttribute("draggable", "true");
//dragStart event needs to be added as firefox is not reading draggable=true without this.
//https://salesforce.stackexchange.com/questions/214613/draggable-true-is-not-working-in-firefox-for-lightning-component
dragEvent.event.target.offsetParent.addEventListener('dragstart', (event: any) => {
event.dataTransfer.setData('data', 'data');
}, true);
this.draggedRow = dragEvent.data;
}
this.draggedRow = dragEvent.data;
};
}
此答案适用于所有面临同样问题的人...
Ag-grid inbuild 提供此功能
请参考以下...
我在枢轴模式下使用 ag 网格 angular。我面临的问题是无法拖放行、值和列区域中的列。我可以通过 ts 文件在这些区域中添加列,但不能通过拖放从 UI 添加列。我可以从这些区域中删除任何列,但不能添加和列。这是ag代码。
<ag-grid-angular #agGrid
style="width: 90%; height: 500px; margin-top: 30px;"
id="myGrid"
[rowData]="rowData"
class="ag-theme-balham"
[columnDefs]="columnDefs"
[enableColResize]="true"
[enableSorting]="true"
[sideBar]="sideBar"
[defaultColDef]="defaultColDef"
[pivotMode]="true"
[statusBar]="statusBar"
[enableRangeSelection]="true"
enableRowGroup="true"
dragAndDrop =" true"
[animateRows]="true"
(gridReady)="onGridReady($event)"></ag-grid-angular>
任何人都可以告诉我我在这里缺少什么。
类似问题的 Plunker:https://plnkr.co/edit/xtPbAztpG14bleAF9bgy?p=preview
在 ag-grid 模式下,您无法拖放行。但是,您可以通过在鼠标悬停(鼠标悬停)上动态添加 draggable=true 来使行可拖动通过 dom 获取单元格 ID 并使其可拖动。
A simple code would be
// This method is used to handle the drag row functionality in ag-grid. It adds the draggable event to rows in grid.
this.gridOptions.onCellMouseOver = (dragEvent: any) => {
if (dragEvent.event.target && dragEvent.event.target.offsetParent.classList.contains('ag-row')) {
dragEvent.event.target.offsetParent.setAttribute("pdraggable", "data");
dragEvent.event.target.offsetParent.setAttribute("draggable", "true");
//dragStart event needs to be added as firefox is not reading draggable=true without this.
//https://salesforce.stackexchange.com/questions/214613/draggable-true-is-not-working-in-firefox-for-lightning-component
dragEvent.event.target.offsetParent.addEventListener('dragstart', (event: any) => {
event.dataTransfer.setData('data', 'data');
}, true);
this.draggedRow = dragEvent.data;
}
this.draggedRow = dragEvent.data;
};
}
此答案适用于所有面临同样问题的人... Ag-grid inbuild 提供此功能 请参考以下...