Есть ли способ исключить определенные столбцы из данных поста при отправке в контроллер с помощью события iggrid saveChanges? - PullRequest
0 голосов
/ 28 ноября 2018

Можно ли как-то исключить определенные столбцы из публикации на контроллере после события "saveChanges", вызванного в igGrid?

Пример:

    $("#{{gridName}}").igGrid({
        autoGenerateColumns: false,
        primaryKey: "id",
        columns: JSON.parse('{{igniteTableColumns|raw}}'),
        updateUrl: "/path-to-controller-action",
        features: [               
            {
                name : 'Updating',
                enableAddRow: false,
                enableDeleteRow: false,
                saveChangesSuccessHandler : function (data) {
                    $("#message").text("Changes were saved successfully").fadeIn(3000).fadeOut(5000);                        
                },
                columnSettings: [ 
                    {
                        columnKey: "id",
                        editorOptions: {
                            readOnly: true
                        }
                    }, 
                    {
                        columnKey: "event_date",
                        editorType: 'datepicker',
                        validation: true,
                        editorOptions: {
                            dateFormat: 'MM-dd-yy',
                            required: true,
                            dropDownTriggers: 'focus'
                        }
                    },
                    {
                        columnKey: "event",
                        editorType: 'text',
                        validation: true,
                        editorOptions: {
                            required: true
                        }
                    },                        
                    {
                        columnKey: "history",
                        editorOptions: {
                            readOnly: true
                        }
                    },
                    {
                        columnKey: "delete",
                        editorOptions: {
                            readOnly: true
                        }
                    }
                ]
            }
        ],
        width: "100%",            
        autoCommit: true,
        dataSource: JSON.parse('{{igniteTableData|raw}}'),
        dataSourceType: "json",
        responseDataKey: "igniteTableData"
    });

    $("#saveChanges").click(function () {    
        $("#{{gridName}}").igGrid("saveChanges");    
    });

В приведенном выше примере все указанные столбцы отправляются на контроллер.Но я хочу исключить столбцы «история» и «удалить» из данных записей.

Поскольку я не хочу просматривать каждый массив и вручную удалять эти столбцы из данных записей, прежде чем отправлять данные вбаза данных для сохранения.

1 Ответ

0 голосов
/ 15 января 2019

Как правило, элемент управления предполагает, что вы хотите опубликовать всю сущность, к которой он был привязан, обратно в ваш сервис.При желании вы можете изменить объект ожидающих транзакций перед вызовом saveChanges.

var trasnactions = $("#{{gridName}}").igGrid("option", "dataSource").pendingTransactions();  

https://www.igniteui.com/help/api/2018.2/ig.datasource#methods:pendingTransactions

...