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;
            }
        });
    }

0 ответов

Другие вопросы по тегам