当我在网格中插入新行时,我遇到了问题。焦点始终位于网格的左侧。 问题是,当我插入更多行时...页面返回,这对用户来说是不方便的。 我的想法是为每个新插入行设置一个焦点...最佳模式...将在新行的特定单元格中进行选项卡焦点(字段必需示例Qta)。
这是我在javascript中的代码:
self.fromModel(data, self.CodArticolo, self.addingFromOrdineFornitore);
if (model.details.indexOf(self) == -1) {
model.details.splice(model.details.length - 1, 0, self);
事实上,功能"拼接"创建一个新行popolate,其中包含网格中文章的详细信息....这样就将焦点设置在第一个单元格的左上方
为了尝试测试,我尝试插入此代码:
var data = $("#Movimenti").data("kendoGrid").dataSource.data();
for (var i = 0; i < data.length; i++) {
var dataItem = data[i];
if (i == model.details.length - 2) {
$("#Movimenti").data("kendoGrid").tbody.find("tr[data-uid=" + dataItem.uid + "]").effect("highlight", { color: "#f35800" }, 3000);
}
}
我可以确认找到正确的行并启动它有效的效果......但我找不到将焦点设置在正确行中的解决方案。
你能帮帮我吗?答案 0 :(得分:0)
您好,请添加解决我案例的代码:
//Setto il focus all'interno dell'ultima riga inserita
var data = $("#Movimenti").data("kendoGrid").dataSource.data();
for (var i = 0; i < data.length; i++) {
var dataItem = data[i];
if (i == model.details.length - 2) {
var grid = $("#Movimenti").data("kendoGrid");
//var firstCell = grid.tbody.find("tr[data-uid=" + dataItem.uid + "] td:first");
var cellName = "Qta";
var cellIndex_1 = grid.element.find("th[data-field = '" + cellName + "']").index();
var focusCell = grid.tbody.find("tr[data-uid=" + dataItem.uid + "] td:eq(" + cellIndex_1 + ")");
grid.current(focusCell);
focusCell.focus();
focusCell.trigger("click");
在此模式下,我设置了焦点和/或编辑特定单元格(“Qta”)。 对我来说,这个案子可以关闭
祝你好运