jqgrid如何根据选定的行数据禁用工具栏

jqgrid how to disable toolbar base on selected row data

我现在正在用 c# asp.net web 表单开发一个项目,我需要使用 jqgrid 从数据库加载数据,我能够加载预期的结果,但是 如果屏蔽列为 1

,我如何根据所选行禁用(编辑删除)下方的工具栏

这是我加载数据的代码

<script>
        $(document).ready(function () {

            loadAuditlogsGrid();
        });
        function loadAuditlogsGrid() {

            $('#Auditgrid').jqGrid("GridUnload");
            getlist(function (data) { loadAuditLogs(data); });
        }

        function getlist(callback) {

            $.ajax({
                async: true,
                type: 'POST',
                contentType: 'application/json',
                url: 'WebForm1.aspx/getlist',

                dataType: 'json',
                success: function (data) {
                    timelog = data.d;

                    if (typeof callback != 'undefined')
                        callback(timelog);
                },
                error: function (xhr, status, error) {
                    console.log(xhr, status, error);
                    hideLoadingGif();
                }
            });


        }

        function loadAuditLogs(Auditlog) {

            var lastsel;
            var startpage = 1;
            $('#Auditgrid').jqGrid({
                datatype: 'local',
                data: Auditlog,
                editurl: 'clientArray',
                colNames: ['NAME', 'Shield'],

                colModel: [
                         { name: 'name', index: 'name', editable: 'true', align: 'center', width: '190', resizable: false },
                         { name: 'shield', index: 'shield', editable: 'true', align: 'center', width: '175', resizable: false },




                ],
                pager: '#Auditgridpager',
                viewrecords: true,
                forceFit: true,
                shrinkToFit: false,
                width: '1150',
                emptyrecords: "No Record/s found",
                loadtext: "Loading",
                rowList: [5, 10, 20, 50],
                height: 'auto',
                caption: 'Audit Logs'

            });

            $('#Auditgrid').jqGrid('navGrid', '#Auditgridpager', {
                edit: true,
                save: false,
                add: true,
                cancel: true,
                del: true,
                search: false,
                refresh: false
            });
            $('#Auditgrid').jqGrid('inlineNav', '#Auditgridpager', {
                add: true,
                edit: true,
                save: true,
                cancel: true,
                restoreAfterSelect: false
            });
        }
    </script>

抱歉我的英语不好。

我已经通过添加 oncellselect 解决了我的问题 这是我的最终代码

  <script>
        $(document).ready(function () {

            loadAuditlogsGrid();
        });
        function loadAuditlogsGrid() {

            $('#Auditgrid').jqGrid("GridUnload");
            getlist(function (data) { loadAuditLogs(data); });
        }

        function getlist(callback) {

            $.ajax({
                async: true,
                type: 'POST',
                contentType: 'application/json',
                url: 'WebForm1.aspx/getlist',

                dataType: 'json',
                success: function (data) {
                    timelog = data.d;

                    if (typeof callback != 'undefined')
                        callback(timelog);
                },
                error: function (xhr, status, error) {
                    console.log(xhr, status, error);
                    hideLoadingGif();
                }
            });


        }

        function loadAuditLogs(Auditlog) {

            var lastsel;
            var startpage = 1;
            $('#Auditgrid').jqGrid({
                datatype: 'local',
                data: Auditlog,
                editurl: 'clientArray',
                colNames: ['NAME', 'Shield'],

                colModel: [
                         { name: 'name', index: 'name', editable: 'true', align: 'center', width: '190', resizable: false },
                         { name: 'shield', index: 'shield', editable: 'true', align: 'center', width: '175', resizable: false },




                ],
                pager: '#Auditgridpager',
                viewrecords: true,
                forceFit: true,
                shrinkToFit: false,
                width: '1150',
                emptyrecords: "No Record/s found",
                loadtext: "Loading",
                rowList: [5, 10, 20, 50],
                height: 'auto',
                caption: 'Audit Logs',
                onCellSelect: function (rowid) {

                    var gridId = $.jgrid.jqID(this.id);
                    if ($(this).jqGrid('getCell', rowid, 'shield') === '1') {
                        // disable the "Edit" and "Delete" buttons of the navigator
                        $("#edit_" + gridId).addClass('ui-state-disabled');
                        $("#del_" + gridId).addClass('ui-state-disabled');
                    } else {
                        // enable the "Edit" and "Delete" buttons of the navigator
                        $("#edit_" + gridId).removeClass('ui-state-disabled');
                        $("#del_" + gridId).removeClass('ui-state-disabled');
                    }

                }


            });

            $('#Auditgrid').jqGrid('navGrid', '#Auditgridpager', {
                edit: true,
                save: false,
                add: true,
                cancel: true,
                del: true,
                search: false,
                refresh: false
            });
            //$('#Auditgrid').jqGrid('inlineNav', '#Auditgridpager', {
            //    add: true,
            //    edit: true,
            //    save: true,
            //    cancel: true,
            //    restoreAfterSelect: false
            //});

        }
    </script>