jsGrid динамически заданный идентификатор с автоинкрементом
Я пытаюсь динамически вставить идентификатор в определенное поле моего jsGrid.
Мои настоящие поля:
fields: [
{ name: "descricao", title: "Item", type: "text", width: "40%", validate: "required", align: "left", readOnly: true },
{ name: "codigoBarras", title: "Item", type: "text", width: "20%", validate: "required", align: "left", readOnly: true },
{ name: "quantidade", title: "Qtde", type: "text", width: "15%", align: "center", readOnly: true },
{
name: "precoCusto",
title: "Preço Custo",
type: "text",
align: "center",
width: "25%",
itemTemplate: function(value) {
return formatNumberForDisplay(value);
},
editTemplate: function(value) {
this.editControl = $("<input>").val(value);
update_on_enter(this.editControl);
return this.editControl;
}
},
{
type: "control",
deleteButton: false,
editButtonTooltip: "Editar dados",
cancelEditButtonTooltip: "Cancelar edição",
updateButtonTooltip: "Atualizar dados",
width: "10%"
}
]
Единственное поле, в которое пользователь вставит некоторые данные, находится в поле "precoCusto". Когда пользователь нажимает на первую строку, я хочу автоматически сосредоточиться на вводе для этого столбца, а когда он нажимает, ввести значение автообновления, а затем сосредоточиться на следующей строке. Как я могу это сделать? Моя функция update_on_enter здесь:
function update_on_enter(field) {
console.log(field)
if(field[0].autofocus == false){
field[0].autofocus = true;
field[0].focus();
}
field.on("keydown", function(e) {
if (e.keyCode === 13) {
console.log(field)
field[0].value = field[0].value.replace(",",".")
$("#jsGrid").jsGrid("updateItem");
return false;
} else if (e.keyCode === 27) {
$("#jsGrid").jsGrid("cancelItem");
return false;
}
});
}