是否有办法为每行设置行选择复选框而不为其配置特殊列?我的意思是为我的gridOptions添加属性并查看每行附近的复选框,然后获取所有选定的行? 我阅读的所有文档都通过将其添加到特定列来展示如何执行此操作。
谢谢,
答案 0 :(得分:0)
您仍然可以在没有复选框列的情况下进行行选择 - 您可以根据行选择进行选择,也可以使用带有复选框的列渲染(使用自定义单元格渲染器)。
请查看Selection Documentation以获取有关行选择的更多信息,并在Cell Rendering Documentation关于单元格渲染
答案 1 :(得分:0)
我知道在这篇文章中回答为时已晚。但它可能会帮助寻找解决方案的人。它适用于每行的复选框选择(单击行上的任意位置以选择复选框),移位/控制和切换选择。在这里,我只提供了必要的代码。
vm.gridOptions = {
appSpecific : {},
onRowClicked : onRowClicked,
onGridReady : function() {
let api = vm.gridApi = vm.gridOptions.api;
}
};
function toggleSelect(row) {
row.node.setSelected(!row.node.isSelected(), false);
}
function onRowClicked(row) {
var appSpecific = vm.gridOptions.appSpecific;
var lastSelectedRow = appSpecific.lastSelectedRow;
var shiftKey = row.event.shiftKey;
// if not modifier keys are clicked toggle row
if (!shiftKey) {
toggleSelect(row);
} else if (lastSelectedRow !== undefined) {
if (shiftKey) {
var startIndex, endIndex;
// Get our start and end indexes correct
if (row.rowIndex < lastSelectedRow.rowIndex) {
startIndex = row.rowIndex;
endIndex = lastSelectedRow.rowIndex;
}
else {
startIndex = lastSelectedRow.rowIndex;
endIndex = row.rowIndex;
}
// Select all the rows between the previously selected row and the
// newly clicked row
for (var i = startIndex; i <= endIndex; i++) {
vm.gridApi.selectIndex(i, true, true);
}
}
}
// Store the recently clicked row for future use
appSpecific.lastSelectedRow = row;
getSelection(); // Implement functionality to get selected rows
}