Javascript 剑道网格-如何通过上/下键盘键使整行选择可导航?
在鼠标单击选定的行后,我有以下带有彩色行的网格 我想添加相同的功能,如果用户将在事件中使用键盘上的上下行,实际选定的行将通过键盘传递,如下面的更改功能中所示 我怎样才能用剑道做到Javascript 剑道网格-如何通过上/下键盘键使整行选择可导航?,javascript,kendo-ui,kendo-grid,keyboard-events,Javascript,Kendo Ui,Kendo Grid,Keyboard Events,在鼠标单击选定的行后,我有以下带有彩色行的网格 我想添加相同的功能,如果用户将在事件中使用键盘上的上下行,实际选定的行将通过键盘传递,如下面的更改功能中所示 我怎样才能用剑道做到 change: function (e) { var selectedRows = this.select(); var selectedDataItems = []; for (var i = 0; i < selectedR
change: function (e) {
var selectedRows = this.select();
var selectedDataItems = [];
for (var i = 0; i < selectedRows.length; i++) {
var dataItem = this.dataItem(selectedRows[i]);
selectedDataItems.push(dataItem);
}
console.log(selectedDataItems);
$scope.setDetailToScope(selectedDataItems, "row_select");
},
“向上/向下”按钮已被识别,但我无法获取下一个选定行并将其着色。您只需启用剑道
可导航功能即可:
$("#grid").kendoGrid({
...
selectable: "row",
navigatable: true,
...
});
类似于:
编辑:
要在没有重影突出显示的情况下导航,应手动处理此问题:
var data = $("#grid").data('kendoGrid');
var arrows = [38, 40];
data.table.on("keydown", function (e) {
if (arrows.indexOf(e.keyCode) >= 0) {
setTimeout(function () {
data.select($("#grid_active_cell").closest("tr"));
},1);
}
}
您必须设置网格可选和网格选择模式设置单个
比如:
您可以在网格事件中使用导航环境:
.Events(evt=>evt.Navigate(“导航”)代码>
在js函数中:
function navigate(e) {
var grid = e.sender;
grid.select(grid.tbody.find(e.element.parent()));
}
谢谢,我已经在网格配置中设置了您提到的值,但是它只对单元格有效,而不是对整行有效,并且不会触发更改功能。此功能的标准行为要求在选择单元格后确认使用空格。之后,整行应该高亮显示。是否可以覆盖此默认行为?结果相同。请发布JSFIDLE代码段好吗?JSFIDLE抛出错误UncaughtTypeError:$(…)。kendoGrid不是函数
.Selectable(s=> s.Mode(GridSelectionMode.Single))
function navigate(e) {
var grid = e.sender;
grid.select(grid.tbody.find(e.element.parent()));
}