Как отключить базу панели инструментов на выбранных данных строки - PullRequest
0 голосов
/ 06 ноября 2019

Сейчас я работаю над проектом в веб-форме c # asp.net, и мне требуется загрузить данные из базы данных с помощью jqgrid. Я могу загрузить ожидаемый результат, но как я могу отключить панель инструментов под базой (редактировать, удалить) навыбранная строка, если столбец экрана 1

enter image description here

Вот мой код при загрузке данных

<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>

Извините за мой плохой английский,

1 Ответ

0 голосов
/ 06 ноября 2019

Я уже решил свою проблему, добавив один раз выбрать здесь мой окончательный код

  <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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...