![](/img/trans.png)
[英]how to disable the automatic focus on jqGrid row when it is changed to edit mode
[英]Focus on new row in a grid in automatic mode
我在網格中插入新行時遇到問題。 焦點始終位於網格的左側。 問題是,當我插入更多行時...頁面返回,這對用戶來說是不方便的。 我的想法是為每個新插入行設置焦點...最佳模式...將在新行的特定單元格中執行制表符焦點(字段必需示例Qta)。
這是我在javascript中的代碼:
self.fromModel(data, self.CodArticolo, self.addingFromOrdineFornitore);
if (model.details.indexOf(self) == -1) {
model.details.splice(model.details.length - 1, 0, self);
實際上,“splice”函數創建了一個新行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);
}
}
我可以確認找到正確的行並啟動它工作的效果......但是我沒有找到將焦點設置在正確行中的解決方案。
您好添加此代碼解決了我的情況:
//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”)。 對我來說,這個案子可以關閉
最好的祝福
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.