如何解决AG-grid 文本编辑器,如选择
我正在尝试将 ag-grid(企业)用于十六进制编辑器应用程序。因此,我每字节有一个单元格,每行有 16 个单元格。现在我想要一个文本编辑器,比如选择,如果我在 Row 中选择一个单元格并将我的鼠标拖动到另一个 Row 中的一个单元格,则中间的所有顺序数据都会被选中。
我目前的方法可以像在图像中一样创建选择,但在我选择另一行中的一个单元格后,我无法再选择任何其他内容。
有没有办法在第一次拖动后继续选择单元格?
是否有另一种巧妙的方法可以使用 ag-grid 实现这种选择?
const gridOptions = {
//...
enableRangeSelection: true,onRangeSelectionChanged: function(event) {
gridOptions.api.getCellRanges().forEach(range => {
var startRow = range.startRow.rowIndex;
var stopRow = range.endRow.rowIndex;
var firstCol = gridOptions.columnApi.getColumn("hex0");
var lastCol = gridOptions.columnApi.getColumn("hex15");
if (startRow == stopRow){
return;
} else if(startRow > stopRow){
//clear selection
gridOptions.api.clearRangeSelection();
//Select row of start cell to the right
gridOptions.api.addCellRange({
rowStartIndex: startRow,rowEndindex: startRow,columnStart: range.startColumn,columnEnd: firstCol,});
//select all full rows which are not start or stop rows
for(var i = startRow + 1; i<stopRow - 1; i++){
gridOptions.api.addCellRange({
rowStartIndex: i,rowEndindex: i,columnStart: firstCol,columnEnd: lastCol,});
}
//select final row from left to stop Cell
gridOptions.api.addCellRange({
rowStartIndex: stopRow,rowEndindex: stopRow,columnStart: lastCol,columnEnd: range.columns[range.columns.length - 1],});
} else if(startRow < stopRow){
//...
}
})
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。