0

カスタマイズされた編集、削除ボタンで Jqgrid を使用しています。また、外部検索を使用してグリッド内を検索しています。2 日前から 1 つの問題でイライラしています。

jqgridをバインドする以下の私のコードを確認してください

jQuery(document).ready(function () {
    var myGrid = $('#list');

    myGrid.jqGrid({
        url: '/Site/GetData/',
        datatype: "json",
        contentType: "application/json; charset-utf-8",
        mtype: 'POST',
        loadonce: true,
        colNames: ['Site ID', 'Site Name', 'Email Address', 'Website', 'Contact Person', 'Phone number', 'Mobile number', "Edit", "Delete"],
        colModel:
        [
            { name: 'SiteID', hidden: true },
            { name: 'SiteName' },
            { name: 'EmailID' },
            { name: 'Website' },
            { name: 'ContactPerson' },
            { name: 'PhoneNo' },
            { name: 'MobileNo' },
            { name: 'Edit', width: 50, sortable: false, formatter: ColumnFormatter },
            { name: 'Delete', width: 60, sortable: false, formatter: ColumnFormatter },
        ],
        autowidth: true,
        rowNum: 5,
        rowList: [5, 10, 20, 50],
        pager: jQuery('#pager'),
        sortorder: "desc",
        viewrecords: true,
        gridview: true,
        ignoreCase: true,

    }).navGrid('#pager',
        {
            rowNum: 5, edit: false, add: false, del: false, search: false, refresh: true
        }
       );
});

上記のコードを使用して、Jqgrid をバインドしています。ここで、グリッドから行を削除する必要があります。削除した後、グリッド全体を更新する必要があります。ただし、ページごとのデータは保持されません。以下の私の削除機能を確認してください:

 function deleteRow(imageElement, UserId) {
    var data = new Object();
    data.id = UserId;
    var _data = JSON.stringify(data);
    $("#list").setGridParam({ datatype: 'json' });
    $.ajax({
        url: '@Url.Action("Delete", "Site")',
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: _data,
        success: function (result) {
            var currentPage = $('#gridData').getGridParam('page');
            $('#list').trigger('reloadGrid');
            $("#list").setGridParam({ page: currentPage })
        },
        error: function (result) {
            alert("This data can not be deleted");
        }
    });
}

さて、上記のコードを使用して、行を削除しています。応答が成功の場合は、グリッド全体をリロードする必要があります。

2ページ目で行を削除すると、グリッドがリロードされ、ページ番号が2に設定されていることが示されますが、レコードはグリッドの1ページ目から表示されます。

そのために私を助けてください

4

1 に答える 1