EasyUI Forum
September 19, 2025, 11:21:06 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: This getChanges is no data after open the datagrid enableCellEditing option.  (Read 7745 times)
frankgao
Jr. Member
**
Posts: 53


View Profile Email
« on: February 08, 2016, 04:41:09 AM »

I want get the getchanges of the datagrid after appendRow,editRow or deleteRow.
but here is no changes data return,


My code:


<script>

initbillgrid();

$(function () {
        $('#griddetail').datagrid().datagrid('enableCellEditing');
})

var editIndex = undefined;
var detailvalid = true;

$(function () {
        bindData();
});

function bindData() {
        $('#griddetail').datagrid({
            title: '',
            url: '/Stocks/PORequest/DetailReload',
            method: 'get',
            dataType: "json",
            fit: true,
            toolbar: '',
            fitColumns: true,
            rownumbers: true,
            striped: true,
            autoRowHeight: false,
            pageSize: 10000,
            pagination: false,
            remoteSort: false,
            idField: 'peid',
            columns: [[
                { field: 'peid', hidden: true, title: 'ID' },
                { field: 'materialid', hidden: true, title: 'materialid' },
                { field: 'mrpid', hidden: true, title: 'mrpid' },
                { field: 'unitid', hidden: true, title: 'unitid' },
                { field: 'pounitid', hidden: true, title: 'pounitid' },
                { field: 'ma_code', title: 'Code', width: '110px', sortable: true },
                { field: 'ma_name', title: 'Name', width: '120px', sortable: true },
                {
                    field: 'qty', title: 'Quantity', width: '100px', editor: {
                        type: 'text', options: {
                            required: true
                        }
                    }
                }},
            ]],
            queryParams: {
                formid: '1',
                masterid: '1'
            },
            singleSelect: true,
            onLoadSuccess: function (data) {
            },
            toolbar: [{
                text: 'Add', iconCls: 'icon-table_add', handler: function () {
                    appendDetail();
                }
            }, '-',
                 {
                     text: 'Delete', iconCls: 'icon-table_delete', handler: function () {
                         removeit();
                     }
                 }],
            onClickRow: function (rowIndex, rowData) {
                editIndex = rowIndex;
            }
        });
}

    function appendDetail() {
        dlgMaterialMultiple();
    }

    function dlgMaterialMultipleInfor(checkedRows) {
        var rows = $('#griddetail').datagrid('getData');
        rows = rows.total + 1;
        $.each(checkedRows, function (n, value) {
            $('#griddetail').datagrid('appendRow', {
                peid: '-1',
                materialid: value.maid,
                mrpid: '0',
                unitid: value.unitid,
                pounitid: value.unitidpo,
                ma_code: value.macode,
                ma_name: value.maname,
                ma_model: value.mamodel,
                mu_name: value.unitponame,
                precision: value.precision,
                qty: parseFloat('1').toFixed(value.precision),
                ftpurchtime: '@ViewBag.AfterDate'
            });
            editIndex = $('#griddetail').datagrid('getRows').length - 1;
            $('#griddetail').datagrid('endEdit', editIndex);
        });
    }

 function removeit() {
        if (editIndex == undefined) { return }
        $('#griddetail').datagrid('cancelEdit', editIndex).datagrid('deleteRow', editIndex);
        editIndex = undefined;
 }

 function accept() {
        $('#griddetail').datagrid('acceptChanges');
 }

function postData() {
    accept();
    var inserted = $('#griddetail').datagrid('getChanges', "inserted");
    var deleted = $('#griddetail').datagrid('getChanges', "deleted");
    var updated = $('#griddetail').datagrid('getChanges', "updated");

    var rowsCh = $('#griddetail').datagrid('getChanges');
    console.log(rowsCh);
}

function initbillgrid() {
    (function ($) {
        function nav(target) {
            var dg = $(target);
            var opts = dg.datagrid('options');
            dg.datagrid('getPanel').attr('tabindex', 1).css('outline-style', 'none').unbind('.cellediting').bind('keydown.cellediting', function (e) {
                switch (e.keyCode) {
                    case 37:  // left
                        gotoCell(target, 'left');
                        break;
                    case 39:  // right
                        gotoCell(target, 'right');
                        break;
                    case 38:  // up
                        gotoCell(target, 'up');
                        break;
                    case 40:  // down
                        gotoCell(target, 'down');
                        break;
                    case 13:  // enter
                        var cell = $(this).find('td.datagrid-row-selected');
                        if (cell.length) {
                            var field = cell.attr('field');
                            var index = cell.closest('tr.datagrid-row').attr('datagrid-row-index');
                            dg.datagrid('editCell', {
                                index: index,
                                field: field
                            });
                        }
                        break;
                }
                return false;
            });
        }

        function gotoCell(target, p) {
            var dg = $(target);
            var opts = dg.datagrid('options');
            var cell = dg.datagrid('getPanel').find('td.datagrid-row-selected');
            if (typeof p == 'object') {
                cell.removeClass('datagrid-row-selected');
                cell = opts.finder.getTr(target, p.index).find('td[field="' + p.field + '"]');
                cell.addClass('datagrid-row-selected');
                return;
            }
            if (!cell) { return; }
            var field = cell.attr('field');
            var tr = cell.closest('tr.datagrid-row');
            var index = parseInt(tr.attr('datagrid-row-index'));
            var td = cell;
            if (p == 'up' && index > 0) {
                td = opts.finder.getTr(dg[0], index - 1).find('td[field="' + field + '"]');
            } else if (p == 'down' && index < dg.datagrid('getRows').length - 1) {
                td = opts.finder.getTr(dg[0], index + 1).find('td[field="' + field + '"]');
            } else if (p == 'left') {
                td = td.prev();
            } else if (p == 'right') {
                td = td.next();
            }
            if (td.length) {
                dg.datagrid('scrollTo', td.closest('tr.datagrid-row').attr('datagrid-row-index'));
                cell.removeClass('datagrid-row-selected');
                td.addClass('datagrid-row-selected');
            }
        }

        function editCell(target, param) {
            var dg = $(target);
            var opts = dg.datagrid('options');
            var fields = dg.datagrid('getColumnFields', true).concat(dg.datagrid('getColumnFields'));
            $.map(fields, function (field) {
                var col = dg.datagrid('getColumnOption', field);
                col.editor1 = col.editor;
                if (field != param.field) {
                    col.editor = null;
                }
            });
            dg.datagrid('endEdit', param.index);
            dg.datagrid('beginEdit', param.index);
            opts.editIndex = param.index;
            var ed = dg.datagrid('getEditor', param);
            if (ed) {
                var t = $(ed.target);
                if (t.hasClass('textbox-f')) {
                    t = t.textbox('textbox');
                }
                t.focus();
                t.bind('keydown', function (e) {
                    if (e.keyCode == 13) {
                        dg.datagrid('endEdit', param.index);
                        gotoCell(target, param);
                        dg.datagrid('getPanel').focus();
                    } else if (e.keyCode == 27) {
                        dg.datagrid('cancelEdit', param.index);
                        gotoCell(target, param);
                        dg.datagrid('getPanel').focus();
                    }
                    e.stopPropagation();
                });
            }
            $.map(fields, function (field) {
                var col = dg.datagrid('getColumnOption', field);
                col.editor = col.editor1;
            });
        }

        function enableCellEditing(target) {
            var dg = $(target);
            var opts = dg.datagrid('options');
            opts.oldOnClickCell = opts.onClickCell;
            opts.onClickCell = function (index, field) {
                if (opts.editIndex != undefined) {
                    if (dg.datagrid('validateRow', opts.editIndex)) {
                        dg.datagrid('endEdit', opts.editIndex);
                        opts.editIndex = undefined;
                    } else {
                        return;
                    }
                }
                dg.datagrid('selectRow', index).datagrid('editCell', {
                    index: index,
                    field: field
                }).datagrid('gotoCell', {
                    index: index,
                    field: field
                });
                opts.oldOnClickCell.call(this, index, field);
            };
            opts.onBeforeSelect = function () {
                return false;
            };
        }

        $.extend($.fn.datagrid.methods, {
            editCell: function (jq, param) {
                return jq.each(function () {
                    editCell(this, param);
                });
            },
            gotoCell: function (jq, param) {
                return jq.each(function () {
                    gotoCell(this, param);
                });
            },
            enableCellEditing: function (jq) {
                return jq.each(function () {
                    nav(this);
                    enableCellEditing(this);
                });
            }
        });

    })(jQuery);
}
</script>

Logged
jarry
Administrator
Hero Member
*****
Posts: 2298


View Profile Email
« Reply #1 on: February 08, 2016, 05:41:05 PM »

Please try to download the patch from http://www.jeasyui.com/download/downloads/jquery-easyui-1.4.4-patch.zip
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!