Необходимо включить текстовое поле, когда флажок установлен в jsgrid - PullRequest
0 голосов
/ 08 мая 2020

У меня есть jsgrid с двумя полями IsSelected и Value. isSelected - это логическое значение, а значение - это значение элемента. Я хочу отключить текстовое поле значения в строке в jsgrid, когда флажок не установлен, и наоборот для каждой строки. это произойдет после updateItem в контроллере в jsgrid. это мой код:

$("#jsGrid").jsGrid({
    width: "100%",
    filtering: false,
    sorting: true,
    paging: true,
    autoload: true,
    searching: false,
    editing: true,


    controller: {
        loadData: function (filter) {
            return $.ajax({
                type: "GET",
                    url: "/ActionPlanItems/ItemList,
                data: filter,
                dataType: "JSON"
            });
        },
        updateItem: function (item) {
        return $.ajax({
                type: "POST",
                url: "/ActionPlanItems/EditRowSelected",

                data: item,
                dataType: "JSON"
            });
    }

    },
    pageSize: 10,
    pageButtonCount: 5,
    pageIndex: 1,
    noDataContent: "No Record Found",
    loadIndication: true,
    loadIndicationDelay: 200,
    loadMessage: "لطفا صبر نمایید ...",
    loadShading: true,
    editButton: true,
    deleteButton: false,

    fields: [
        { name: "Id", title: "id", type: "text", visible: false },
        { name: "IsSelected", title: "isSelected", type: "checkbox", sorting: false},
        { name: "Value", title: "value", type: "text",
            itemTemplate: function (value) {
                return '<span class="label label-warning pull-right">' + value.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") + '</span>'
            } },
        { name: "Unit", title: "unit", type: "text", editing: false },
        {
            type: "control", title: " edit ", sorting: false, filtering: false,
            itemTemplate: function (value, item) {
                return '<button class="btn bg-olive btn-flat margin"  title="Update"><i class="fa fa-cogs"></i></button>';
            }, onItemUpdating: function (item) {
                $("#jsGrid").jsGrid("refresh");
            },
            onItemUpdated: function (item) {
                $("#jsGrid").jsGrid("refresh");
                console.log("it is updated", item.item);
                $("#jsGrid").jsGrid("refresh");
            }}
    ]
});
...