{"version":3,"sources":["jsdelivr-header.js","/npm/jquery-jqgrid@1.0.3/jquery.jqGrid.js"],"names":[],"mappings":"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","file":"/npm/jquery-jqgrid@1.0.3/jquery.jqGrid.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/jquery-jqgrid@1.0.3/jquery.jqGrid.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","﻿////-----------------------------------------------\r\n////JQGrid表格组件\r\n////Author:air\r\n////Version:1.0.3\r\n////Date：2017-11-01\r\n////Log：2020-08-31 --支持自定义列样式\r\n////Log：2020-12-24 --支持隐藏筛选列\r\n////Log：2021-02-18 --合并版本提交npm\r\n////Log：2022-01-28 --修复筛选bug\r\n////-----------------------------------------------\r\n(function (window, $) {\r\n    $.fn.hasAttr = function (name, val) {\r\n        if (val) {\r\n            return $(this).attr(name) === val;\r\n        }\r\n        return $(this).attr(name) !== undefined;\r\n    };\r\n    var PLUGIN_NAME = \"jqGrid\";\r\n    var checkboxSelecter = \".jqGrid-column-checkbox input[type=checkbox]\";\r\n    var uid = 0;\r\n    //********************************************************\r\n    //私有方法\r\n    //********************************************************\r\n    function _init(target, state, options) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        var selecter = state.selecter;\r\n        state.uid = (++uid);\r\n        state.queryParams = {};//url请求数据的参数\r\n        state.pagerOptions = options.pager;\r\n        //filter筛选器\r\n        state.filter = {};//筛选对象\r\n        //init queryParams and filter\r\n        buildQueryParams(target);\r\n        //if (state.options.queryParams) {\r\n        //    if (typeof state.options.queryParams === 'function') {\r\n        //        state.queryParams = state.options.queryParams.call(this);\r\n        //    }\r\n        //    else {\r\n        //        state.queryParams = state.options.queryParams;\r\n        //    }\r\n        //    if (state.queryParams.filter) {\r\n        //        if (typeof state.queryParams.filter === 'string') {\r\n        //            state.filter = JSON.parse(state.queryParams.filter);\r\n        //        }\r\n        //        else {\r\n        //            state.filter = state.queryParams.filter;\r\n        //        }\r\n        //    }\r\n        //}\r\n        //selecter.hide();\r\n        for (var j = 0; j < options.columns.length; j++) {\r\n            if (!options.columns[j].formatter) {\r\n                options.columns[j].formatter = function (value, row, index) {\r\n                    return value ? value : '';\r\n                }\r\n            }\r\n        }\r\n\r\n        //build dom\r\n        if (selecter.is('table')) {\r\n            state.grid = $('<div></div>').addClass('jqGrid').insertAfter(target);\r\n            state.table = $('<table></table>').addClass('jqGrid-table').appendTo(state.grid);\r\n            selecter.hide();\r\n        }\r\n        else if (selecter.is('div')) {\r\n            state.grid = selecter.addClass('jqGrid');\r\n            state.table = $('<table></table>').addClass('jqGrid-table').appendTo(state.grid).appendTo(selecter);\r\n        }\r\n        else {\r\n            state.grid = $('<div></div>').addClass('jqGrid').appendTo(selecter);\r\n            state.table = $('<table></table>').addClass('jqGrid-table').appendTo(state.grid);\r\n        }\r\n        state.filterBar = $(\"<div class='jqGrid-filterbar'></div>\");\r\n        state.table.before(state.filterBar);\r\n        state.filterBar.hide();//默认隐藏filter\r\n        state.loading = $(\"<div class='jqGrid-loading' title=\" + options.loadMsg + \"></div>\");\r\n        state.loading.hide().appendTo(state.grid);\r\n        state.empty = $(\"<div class='jqGrid-empty'><div class='jqGrid-empty-image'><img alt='\" + (options.emptyMsg || '暂无数据') + \"' src='data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTg0IiBoZWlnaHQ9IjE1MiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQgMzEuNjcpIj4KICAgICAgPGVsbGlwc2UgZmlsbC1vcGFjaXR5PSIuOCIgZmlsbD0iI0Y1RjVGNyIgY3g9IjY3Ljc5NyIgY3k9IjEwNi44OSIgcng9IjY3Ljc5NyIgcnk9IjEyLjY2OCIvPgogICAgICA8cGF0aCBkPSJNMTIyLjAzNCA2OS42NzRMOTguMTA5IDQwLjIyOWMtMS4xNDgtMS4zODYtMi44MjYtMi4yMjUtNC41OTMtMi4yMjVoLTUxLjQ0Yy0xLjc2NiAwLTMuNDQ0LjgzOS00LjU5MiAyLjIyNUwxMy41NiA2OS42NzR2MTUuMzgzaDEwOC40NzVWNjkuNjc0eiIgZmlsbD0iI0FFQjhDMiIvPgogICAgICA8cGF0aCBkPSJNMTAxLjUzNyA4Ni4yMTRMODAuNjMgNjEuMTAyYy0xLjAwMS0xLjIwNy0yLjUwNy0xLjg2Ny00LjA0OC0xLjg2N0gzMS43MjRjLTEuNTQgMC0zLjA0Ny42Ni00LjA0OCAxLjg2N0w2Ljc2OSA4Ni4yMTR2MTMuNzkyaDk0Ljc2OFY4Ni4yMTR6IiBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMy41NikiLz4KICAgICAgPHBhdGggZD0iTTMzLjgzIDBoNjcuOTMzYTQgNCAwIDAgMSA0IDR2OTMuMzQ0YTQgNCAwIDAgMS00IDRIMzMuODNhNCA0IDAgMCAxLTQtNFY0YTQgNCAwIDAgMSA0LTR6IiBmaWxsPSIjRjVGNUY3Ii8 + CiAgICAgIDxwYXRoIGQ9Ik00Mi42NzggOS45NTNoNTAuMjM3YTIgMiAwIDAgMSAyIDJWMzYuOTFhMiAyIDAgMCAxLTIgMkg0Mi42NzhhMiAyIDAgMCAxLTItMlYxMS45NTNhMiAyIDAgMCAxIDItMnpNNDIuOTQgNDkuNzY3aDQ5LjcxM2EyLjI2MiAyLjI2MiAwIDEgMSAwIDQuNTI0SDQyLjk0YTIuMjYyIDIuMjYyIDAgMCAxIDAtNC41MjR6TTQyLjk0IDYxLjUzaDQ5LjcxM2EyLjI2MiAyLjI2MiAwIDEgMSAwIDQuNTI1SDQyLjk0YTIuMjYyIDIuMjYyIDAgMCAxIDAtNC41MjV6TTEyMS44MTMgMTA1LjAzMmMtLjc3NSAzLjA3MS0zLjQ5NyA1LjM2LTYuNzM1IDUuMzZIMjAuNTE1Yy0zLjIzOCAwLTUuOTYtMi4yOS02LjczNC01LjM2YTcuMzA5IDcuMzA5IDAgMCAxLS4yMjItMS43OVY2OS42NzVoMjYuMzE4YzIuOTA3IDAgNS4yNSAyLjQ0OCA1LjI1IDUuNDJ2LjA0YzAgMi45NzEgMi4zNyA1LjM3IDUuMjc3IDUuMzdoMzQuNzg1YzIuOTA3IDAgNS4yNzctMi40MjEgNS4yNzctNS4zOTNWNzUuMWMwLTIuOTcyIDIuMzQzLTUuNDI2IDUuMjUtNS40MjZoMjYuMzE4djMzLjU2OWMwIC42MTctLjA3NyAxLjIxNi0uMjIxIDEuNzg5eiIgZmlsbD0iI0RDRTBFNiIvPgogICAgPC9nPgogICAgPHBhdGggZD0iTTE0OS4xMjEgMzMuMjkybC02LjgzIDIuNjVhMSAxIDAgMCAxLTEuMzE3LTEuMjNsMS45MzctNi4yMDdjLTIuNTg5LTIuOTQ0LTQuMTA5LTYuNTM0LTQuMTA5LTEwLjQwOEMxMzguODAyIDguMTAyIDE0OC45MiAwIDE2MS40MDIgMCAxNzMuODgxIDAgMTg0IDguMTAyIDE4NCAxOC4wOTdjMCA5Ljk5NS0xMC4xMTggMTguMDk3LTIyLjU5OSAxOC4wOTctNC41MjggMC04Ljc0NC0xLjA2Ni0xMi4yOC0yLjkwMnoiIGZpbGw9IiNEQ0UwRTYiLz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0OS42NSAxNS4zODMpIiBmaWxsPSIjRkZGIj4KICAgICAgPGVsbGlwc2UgY3g9IjIwLjY1NCIgY3k9IjMuMTY3IiByeD0iMi44NDkiIHJ5PSIyLjgxNSIvPgogICAgICA8cGF0aCBkPSJNNS42OTggNS42M0gwTDIuODk4LjcwNHpNOS4yNTkuNzA0aDQuOTg1VjUuNjNIOS4yNTl6Ii8 + CiAgICA8L2c + CiAgPC9nPgo8L3N2Zz4K'></div><p class='jqGrid-empty-description'>\" + (options.emptyMsg || '暂无数据') + \"</p></div>\").appendTo(state.grid).show();\r\n        //state.empty = $(\"<div class='jqGrid-empty'>\" + (options.emptyMsg || '暂无数据') + \"</div>\").appendTo(state.grid).show();\r\n        state.thead = $('<thead></thead>').appendTo(state.table);\r\n        state.tbody = $('<tbody></tbody>').appendTo(state.table);\r\n        state.tfoot = $('<tfoot></tfoot>').appendTo(state.table);\r\n\r\n        //bing head event\r\n        state.thead.on('click', 'span.menu', {}, function (e) {\r\n            var menu = $(document.body).find(\"#\" + $(this).attr('menuid'));\r\n            if (menu.is(':hidden')) {\r\n                //hide all headmenu\r\n                $(document.body).find('.jqGrid-headermenu').hide();\r\n\r\n                var offset = $(e.target).offset();\r\n                var scrollLeft = state.grid.scrollLeft();\r\n                if (offset.left + menu.width() > state.grid.width()) {\r\n                    menu.css({ 'left': offset.left - menu.width() - 5, 'top': offset.top + $(e.target).height() }).show();\r\n                }\r\n                else {\r\n                    menu.css({ 'left': offset.left, 'top': offset.top + $(e.target).height() }).show();\r\n                }\r\n            }\r\n            else {\r\n                menu.hide();\r\n                $(document.body).off('.gridmenu');\r\n            }\r\n\r\n            $(document.body).click('click.gridmenu', function (e) {\r\n                if ($(e.target).closest('.jqGrid-headermenu').length > 0)\r\n                    return;\r\n                menu.hide();\r\n                $(document.body).off('.gridmenu');\r\n            });\r\n            return false;\r\n        }).on(\"change\", checkboxSelecter, function (e) {\r\n            state.tbody.find(checkboxSelecter).prop('checked', !!this.checked)\r\n        });\r\n\r\n        //bing body event\r\n        $(document.body).on(\"click\", \".jqGrid-headermenu-filterbutton\", function () {\r\n            var headerMenu = $(this).closest(\"div.jqGrid-headermenu\");\r\n            //get filterItems\r\n            var filterItems = headerMenu.find('.jqGrid-headermenu-item').map(function (i, item) { return $(item); });\r\n            for (var i = 0; i < filterItems.length; i++) {\r\n                var _filed = filterItems[i].attr(\"filter-filed\");\r\n                var _type = filterItems[i].attr(\"filter-type\");\r\n                var _val = null;\r\n                switch (_type) {\r\n                    case \"textbox\":\r\n                        {\r\n                            _val = filterItems[i].find(\".jqGrid-headermenu-input-text\").val();\r\n                        }\r\n                        break;\r\n                    case \"combox\":\r\n                        {\r\n                            _val = filterItems[i].find(\".jqGrid-headermenu-input-combox\").val()\r\n                        }\r\n                        break\r\n                }\r\n                //get column option\r\n                var _filterItemOption = filterItems[i].data(PLUGIN_NAME + '-headerMenu-filterItem');\r\n                if (_filterItemOption) {\r\n                    if (_filterItemOption.onFilter) {\r\n                        _filterItemOption.onFilter.call(target, _val);\r\n                    }\r\n                    else {\r\n                        filter(target, true, _filterItemOption.key, { Value: _val })\r\n                    }\r\n                }\r\n            }\r\n            headerMenu.hide();\r\n            return false;\r\n        }).on('click', \".jqGrid-headermenu-clearbutton\", function () {\r\n            var headerMenu = $(this).closest(\"div[data-filed]\");\r\n            var _datafield = headerMenu.attr(\"data-filed\");\r\n            headerMenu.find('input:text').val('');\r\n            filter(target, true, _datafield, null);\r\n            headerMenu.hide();\r\n            return false;\r\n        }).on('click', \".jqGrid-headermenu-item[data-sort]\", function () {\r\n            //排序\r\n            var headerMenu = $(this).closest(\"div[data-filed]\");\r\n            var _datafield = headerMenu.attr(\"data-filed\");\r\n            var _sort = 0;\r\n            if ($(this).attr('data-sort') === 'asc') {\r\n                _sort = 2;\r\n            }\r\n            else if ($(this).attr('data-sort') === 'desc') {\r\n                _sort = -1;\r\n            }\r\n            filter(target, true, _datafield, { Sort: _sort });\r\n            headerMenu.hide();\r\n            return false;\r\n        }).on('click', '.jqGrid-filterbar i', function (e) {\r\n            var _datafield = e.target.getAttribute('data-field');\r\n            filter(target, true, _datafield, null);\r\n            return false;\r\n        });\r\n\r\n        $(window).resize(function () {\r\n            //hide all headmenu\r\n            $(document.body).find('.jqGrid-headermenu').hide();\r\n        });\r\n        state.grid.scroll(function () {\r\n            $(document.body).find('.jqGrid-headermenu').hide();\r\n        });\r\n        //$(window).scroll(function () {\r\n        //    $(document.body).find('.jqGrid-headermenu').hide();\r\n        //});\r\n        //bing tbody event\r\n        state.tbody.on(\"click\", \">tr:not(.jqGrid-row-detail)\", function (e) {\r\n            var rowData = state.data[parseInt($(this).attr('data-index'))];\r\n            options.onRowClick && options.onRowClick.call(target, e.target, rowData);\r\n            if (!options.clickToSelect) return;\r\n            //this=tr\r\n            var td = $(e.target).closest('td');\r\n            if (!options.clickToSelect) {\r\n                return;\r\n            }\r\n            if (td.hasClass('jqGrid-column-checkbox') || td.hasClass('jqGrid-column-detailViewButton') || td.hasClass('jqGrid-row-detail')) {\r\n                return;\r\n            }\r\n            if (this.selected === true) {\r\n                this.selected = false;\r\n                $(this).removeClass(\"jqGrid-row-selected\");\r\n                state.lastselectedTr = null;\r\n            }\r\n            if (state.lastselectedTr && options.singleSelect) {\r\n                state.lastselectedTr.selected = false;\r\n                $(state.lastselectedTr).removeClass(\"jqGrid-row-selected\");\r\n                state.lastselectedTr = null;\r\n                if (!options.singleSelect) {\r\n                    return false;\r\n                }\r\n            }\r\n            this.selected = true;\r\n            $(this).addClass(\"jqGrid-row-selected\");\r\n            state.lastselectedTr = this;\r\n            //return false;\r\n\r\n        }).on(\"change\", checkboxSelecter, function (e) {\r\n            if (!this.checked) {\r\n                state.thead.find(checkboxSelecter).prop('checked', false)\r\n            }\r\n            else {\r\n                if (state.tbody.find('td.jqGrid-column-checkbox input:checked').length === state.data.length) {\r\n                    state.thead.find(checkboxSelecter).prop('checked', true);\r\n                }\r\n            }\r\n            //return false;\r\n        }).on('mouseenter', \"tr\", function (e) {\r\n            var rowData = state.data[parseInt($(this).attr('data-index'))];\r\n            options.onRowMouseEnter && options.onRowMouseEnter.call(target, $(this), rowData);\r\n        })\r\n            .on('mouseleave', \"tr\", function (e) {\r\n                var rowData = state.data[parseInt($(this).attr('data-index'))];\r\n                options.onRowMouseLeave && options.onRowMouseLeave.call(target, $(this), rowData);\r\n            });\r\n        //bing grid event\r\n        //state.grid.on(\"click\", function (e) {\r\n        //    //debugger;\r\n        //    if (e.target.nodeName === 'INPUT') {\r\n        //        return true;\r\n        //    }\r\n        //    return false;\r\n        //});\r\n\r\n\r\n        //pagination\r\n        if (options.pagination) {\r\n            state.pager = $('<div></div>').insertAfter(state.grid);\r\n            state.pager.on('click', 'a[options-pager]', function () {\r\n                page(target, parseInt($(this).attr('options-pager')));\r\n            }).on('click', 'a.pager-go-btn', function () {\r\n                var input = $(this).siblings('input');\r\n                page(target, parseInt(input.val()));\r\n            }).on('keydown', 'input', function (e) {\r\n                if (e.keyCode === 13) {\r\n                    var input = $(this).val();\r\n                    if (/^\\d+$/.test(input)) {\r\n                        page(target, parseInt(input));\r\n                    }\r\n                }\r\n            }).on('change', 'select.pager-select', function () {\r\n                var pageSize = $(this).val();\r\n                state.options.pager.pageSize = parseInt(pageSize);\r\n                $.data(target, PLUGIN_NAME, state);\r\n                page(target, 1);\r\n            });\r\n            filter(target, false, 'Pager', { PageNumber: options.pager.pageNumber, PageSize: options.pager.pageSize })\r\n        }\r\n        //detailView\r\n        if (options.detailView) {\r\n            state.tbody.on('click', 'td.jqGrid-column-detailViewButton', function (e) {\r\n                var tr = $(this).closest('tr');\r\n                var _detail = tr.next();\r\n                var _index = parseInt(tr.attr('data-index'));\r\n                var _rowdata = state.data[_index];\r\n                //debugger;\r\n                if (_detail.is(':hidden')) {\r\n                    $(this).removeClass('jqGrid-column-detailViewButton-expand').addClass('jqGrid-column-detailViewButton-collapse');\r\n                    _detail.show();\r\n                    options.onExpandRow && options.onExpandRow.call(target, _index, _rowdata, _detail.children('td:eq(1)'));\r\n                }\r\n                else {\r\n                    $(this).addClass('jqGrid-column-detailViewButton-expand').removeClass('jqGrid-column-detailViewButton-collapse');\r\n                    _detail.hide();\r\n                    options.onCollapseRow && options.onCollapseRow.call(target, _index, _rowdata, _detail.children('td:eq(1)'));\r\n                }\r\n                return false;\r\n            });\r\n        }\r\n        //skin\r\n        if (options.skin) {\r\n            state.grid.addClass(options.skin);\r\n        }\r\n        renderHeader(target);\r\n        renderHeaderMenu(target);\r\n        if (options.url || options.data) {\r\n            load(target);\r\n        }\r\n    }\r\n    function buildQueryParams(target, params) {\r\n        if (!params) params = {};\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        var defaultQueryParams = {};\r\n        if (options.queryParams) {\r\n            if (typeof options.queryParams === 'function') {\r\n                defaultQueryParams = options.queryParams.call(target);\r\n            }\r\n            else {\r\n                defaultQueryParams = options.queryParams;\r\n            }\r\n        }\r\n        //处理filter\r\n        if (defaultQueryParams.filter) {\r\n            var defaultFilter = {};\r\n            if (typeof defaultQueryParams.filter === 'string') {\r\n                defaultFilter = JSON.parse(defaultQueryParams.filter);\r\n            }\r\n            else {\r\n                defaultFilter = defaultQueryParams.filter;\r\n            }\r\n            //去除defualt参数中null部分,只保留有效\r\n            for (var prop in defaultFilter) {\r\n                if (!defaultFilter[prop]) {\r\n                    delete defaultFilter[prop];\r\n                }\r\n            }\r\n            //这里有个问题,默认参数中Pager不能被合并掉\r\n            if (defaultFilter.hasOwnProperty('Pager')) {\r\n                delete defaultFilter.Pager;//删除属性\r\n            }\r\n            state.filter = $.extend({}, state.filter, defaultFilter);\r\n        }\r\n        if (params.filter) {\r\n            var _filter = {};\r\n            if (typeof params.filter === 'string') {\r\n                _filter = $.extend({}, state.filter, JSON.parse(params.filter));\r\n            }\r\n            else {\r\n                _filter = $.extend({}, state.filter, params.filter);\r\n            }\r\n            state.filter = _filter;\r\n        }\r\n        //保留之前的参数\r\n        debugger\r\n        state.queryParams = $.extend({}, state.queryParams, defaultQueryParams, params);\r\n        //处理filter\r\n        if (state.filter) {\r\n            state.queryParams['filter'] = JSON.stringify(state.filter);\r\n        }\r\n        //页码\r\n    }\r\n    function filter(target, autoload, filterfield, filtervalue) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        if (state.filter) {\r\n            if (state.filter.hasOwnProperty(filterfield)) {\r\n                if (filtervalue) {\r\n                    state.filter[filterfield] = $.extend({}, state.filter[filterfield], filtervalue);\r\n                }\r\n                else {\r\n                    state.filter[filterfield] = null;\r\n                }\r\n            }\r\n            else {\r\n                state.filter[filterfield] = filtervalue;\r\n            }\r\n        }\r\n        else {\r\n            state.filter = {};\r\n            state.filter[filterfield] = filtervalue;\r\n        }\r\n        $.data(target, PLUGIN_NAME, state);\r\n        var params = {};\r\n        params[filterfield] = state.filter[filterfield];\r\n        //buildQueryParams(target, { filter: params });\r\n        if (autoload) {\r\n            load(target);\r\n        }\r\n        renderFilterBar(target);\r\n    }\r\n    function renderFilterBar(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        if (!options.showFilterBar) {\r\n            return;\r\n        }\r\n        var defaultQueryParams = {};\r\n        if (options.queryParams) {\r\n            if (typeof options.queryParams === 'function') {\r\n                defaultQueryParams = options.queryParams.call(target);\r\n            }\r\n            else {\r\n                defaultQueryParams = options.queryParams;\r\n            }\r\n        }\r\n        var defaultFilter = {};\r\n        if (typeof defaultQueryParams.filter === 'string') {\r\n            defaultFilter = JSON.parse(defaultQueryParams.filter);\r\n        }\r\n        else {\r\n            defaultFilter = defaultQueryParams.filter;\r\n        }\r\n        var filterItem = [];\r\n        if (state.filter) {\r\n            for (var p in state.filter) {\r\n                if (defaultFilter[p]) continue;\r\n                if (state.filter[p] && state.filter[p].Value) {\r\n                    //如果是默认筛选项则不渲染\r\n                    //get filter Display name\r\n                    var displayName = p;\r\n                    for (var i = 0; i < options.columns.length; i++) {\r\n                        if (options.columns[i].field === p) {\r\n                            displayName = options.columns[i].title;\r\n                            break;\r\n                        }\r\n                    }\r\n                    filterItem.push(\"<div class='jqGrid-filterItem'><span class='jqGrid-filterItem-title'>\" + displayName + \":</span><span class='jqGrid-filterItem-value'>\" + state.filter[p].Value + \"</span> <i data-field='\" + p + \"'></i></div>\");\r\n                }\r\n            }\r\n        }\r\n        if (filterItem.length > 0) {\r\n            state.filterBar.html(filterItem.join(''));\r\n            state.filterBar.show();\r\n        }\r\n        else {\r\n            state.filterBar.hide();\r\n        }\r\n    }\r\n    function _destroy(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        state.grid.remove();\r\n        $(document.body).off('.jqGrid');\r\n        //state.selecter.show();\r\n        $.data(target, PLUGIN_NAME, null);\r\n    }\r\n    function load(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        state.empty.hide();\r\n        if (!options.url) {\r\n            state.data = options.data;\r\n            renderHeader(target);\r\n            renderFilterBar(target);\r\n            renderRow(target);\r\n            options.onLoadSuccess && (options.onLoadSuccess.call(target, state.data));\r\n        } else {\r\n            state.data = [];\r\n            //state.thead.html('');\r\n            var position = state.grid.position();\r\n            state.loading.show();\r\n            //buildQueryParams(target);\r\n            options.onLoadBefore && (state.queryParams = options.onLoadBefore.call(target, state.queryParams));\r\n            $.ajax({\r\n                url: options.url,\r\n                data: options.contentType == 'application/x-www-form-urlencoded' ? state.queryParams : state.queryParams.filter,\r\n                dataType: 'json',\r\n                contentType: options.contentType,\r\n                headers: options.request.headers,\r\n                cache: options.cache,\r\n                type: options.method || 'post',\r\n                success: function (res) {\r\n                    state.loading.hide();\r\n                    options.onLoadFilter && (res = options.onLoadFilter.call(target, res));\r\n                    state.data = res;\r\n                    renderHeader(target);\r\n                    renderFilterBar(target);\r\n                    renderRow(target);\r\n                    if (options.pagination) {\r\n                        renderPager(target, { totalCount: res.TotalCount, pageNumber: res.PageNumber, pageSize: res.PageSize });\r\n                    }\r\n                    options.onLoadSuccess && (res = options.onLoadSuccess.call(target, res));\r\n                },\r\n                error: function (xml, error, x) {\r\n                    state.loading.hide();\r\n                    options.onLoadError && options.onLoadError.call(target, 'jqGrid获取数据失败:' + x);\r\n                }\r\n            });\r\n        }\r\n    }\r\n    function page(target, p) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options.pager;\r\n        if (!p || p < 1 || (p > options.pageCount)) return;\r\n        options.pageNumber = p;\r\n        filter(target, true, 'Pager', { PageNumber: options.pageNumber, PageSize: options.pageSize });\r\n    };\r\n    function renderHeader(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        var heads = [], col;\r\n        heads.push('<tr class=\"jqGrid-head\">');\r\n        if (options.detailView) {\r\n            heads.push(\"<th style='width:50px;'></th>\");\r\n        }\r\n        if (options.rowNumbers) {\r\n            heads.push(\"<th style='width:50px;'>序号</th>\");\r\n        }\r\n        for (var i = 0; i < options.columns.length; i++) {\r\n            col = options.columns[i];\r\n            colfilter = state.filter[col.field];\r\n            if (col.checkbox) {\r\n                heads.push(\"<th class='jqGrid-column jqGrid-column-checkbox' data-field='cbox' style='width:30px;'><input type='checkbox'/></th>\");\r\n                continue;\r\n            }\r\n            var headStyle = '';\r\n            if (col.headStyle) {\r\n                if (typeof col.headStyle === 'function') {\r\n                    headStyle = col.headStyle.call(this, row[col.field], row, j);\r\n                }\r\n                else {\r\n                    headStyle = col.headStyle;\r\n                }\r\n                headStyle = headStyle + ';';\r\n            }\r\n            //debugger;\r\n            var width = col.width ? \"width: \" + col.width + \"px;min-width: \" + col.width + \"px;max-width: \" + col.width + \"px;\" : \"\";\r\n            var _sortIcon = '';\r\n            if (col.field) {\r\n                if (col.sortable || col.headerContextMenu) {\r\n                    var headerContextMenu = [];\r\n                    //\r\n                    var sortIcon = \"\";\r\n                    if (colfilter && colfilter.Sort) {\r\n                        if (colfilter.Sort === -1) {\r\n                            sortIcon = \"<span class='down'></span>\";\r\n                        }\r\n                        else if (colfilter.Sort === 2) {\r\n                            sortIcon = \"<span class='up'></span>\";\r\n                        }\r\n                    }\r\n                    headerContextMenu.push(\"<div class='tools'>\" + sortIcon + \"<span class='menu' menuid='gird-\" + state.uid + '-menu-' + i + \"'></span></div>\");\r\n\r\n                    _sortIcon = headerContextMenu.join('');\r\n                }\r\n            }\r\n            heads.push(\"<th style='\" + (col.hidden ? \"display:none;\" : \"\") + width + headStyle + \"' class='jqGrid-column jqGrid-column-\" + col.field + \"' data-field='\" + col.field + \"'><div><span class='title'>\" + col.title + \"</span>\" + _sortIcon + \"</div></th>\");\r\n        }\r\n        heads.push('</tr>');\r\n        state.thead.html(heads.join(''));\r\n    }\r\n    function renderHeaderMenu(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        var grid = state.grid;\r\n        var headerMenuContainer = $(\"<div id='gird-\" + state.uid + \"-headerMenuContainer'></div>\");\r\n        for (var i = 0; i < options.columns.length; i++) {\r\n            col = options.columns[i];\r\n            if (!col.field) continue;\r\n            var headerMenu = $(\"<div class='jqGrid-headermenu' data-filed='\" + col.field + \"'  id='gird-\" + state.uid + '-menu-' + i + \"'></div>\")\r\n            headerMenu.data(PLUGIN_NAME + '-headerMenu', col);\r\n            if (col.sortable) {\r\n                headerMenu.append($(\"<div class='jqGrid-headermenu-item pointer' data-sort='desc'><i class='jqGrid-headermenu-icon sortdesc'/><span class='jqGrid-headermenu-line'></span><span class='jqGrid-headermenu-context'>降序</span></div>\"));\r\n                headerMenu.append($(\"<div class='jqGrid-headermenu-item pointer' data-sort='asc'><i class='jqGrid-headermenu-icon sortasc'/><span class='jqGrid-headermenu-line'></span><span class='jqGrid-headermenu-context'>升序</span></div>\"));\r\n            }\r\n            if (col.headerContextMenu && col.headerContextMenu.length > 0) {\r\n                for (var z = 0; z < col.headerContextMenu.length; z++) {\r\n                    var filterItemHtml = [];\r\n                    var $filterItem = null;\r\n                    switch (col.headerContextMenu[z].type) {\r\n                        case 'textbox':\r\n                            {\r\n                                var filtervalue = \"\";\r\n                                if (colfilter && colfilter.Value) {\r\n                                    filtervalue = colfilter.Value;\r\n                                }\r\n                                filterItemHtml.push(\"<div class='jqGrid-headermenu-item' filter-type='\" + col.headerContextMenu[z].type + \"' filter-filed='\" + col.headerContextMenu[z].key + \"'><i class='jqGrid-headermenu-icon textbox'/><span class='jqGrid-headermenu-line'></span><span class='jqGrid-headermenu-context'>\");\r\n                                filterItemHtml.push(\"<input type='text' value='\" + filtervalue + \"' class='jqGrid-headermenu-input-text'/>\");\r\n                                filterItemHtml.push(\"</span></div>\");\r\n                                $filterItem = $(filterItemHtml.join(''));\r\n                                $filterItem.data(PLUGIN_NAME + '-headerMenu-filterItem', col.headerContextMenu[z]);\r\n                            }\r\n                            break;\r\n                        case 'combox':\r\n                            {\r\n                                var filtervalue = \"\";\r\n                                if (colfilter && colfilter.Value) {\r\n                                    filtervalue = colfilter.Value;\r\n                                }\r\n                                filterItemHtml.push(\"<div class='jqGrid-headermenu-item' filter-type='\" + col.headerContextMenu[z].type + \"' filter-filed='\" + col.headerContextMenu[z].key + \"'><i class='jqGrid-headermenu-icon textbox'/><span class='jqGrid-headermenu-line'></span><span class='jqGrid-headermenu-context'>\");\r\n                                filterItemHtml.push(\"<select type='text' value='\" + filtervalue + \"' class='jqGrid-headermenu-input-combox'>\");\r\n                                var _data = col.headerContextMenu[z].data;\r\n                                for (var j = 0; j < _data.length; j++) {\r\n                                    filterItemHtml.push(\"<option value='\" + _data[j].value + \"'>\" + _data[j].text + \"</option>\");\r\n                                }\r\n                                filterItemHtml.push(\"</select>\");\r\n                                filterItemHtml.push(\"</span></div>\");\r\n                            }\r\n                            break;\r\n                        default:\r\n                            break;\r\n                    }\r\n                    $filterItem = $(filterItemHtml.join(''));\r\n                    $filterItem.data(PLUGIN_NAME + '-headerMenu-filterItem', col.headerContextMenu[z]);\r\n                    headerMenu.append($filterItem);\r\n                }\r\n                headerMenu.append($(\"<div class='jqGrid-headermenu-action'><input type='button' class='jqGrid-headermenu-filterbutton' value='检索'/><input type='button' class='jqGrid-headermenu-clearbutton' value='清除'/></div>\"));\r\n            }\r\n            headerMenuContainer.append(headerMenu);\r\n        }\r\n        $(document.body).append(headerMenuContainer);\r\n    }\r\n    function renderRow(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        var data = state.data;\r\n        state.tbody.html('');\r\n        if (!data || data.length === 0) {\r\n            state.empty.show();\r\n            return;\r\n        }\r\n        var colCount = 0;\r\n        var rows = [], col, row;\r\n        for (var i = 0; i < data.length; i++) {\r\n            colCount = 0;\r\n            row = data[i];\r\n            rows.push(\"<tr class='jqGrid-row' data-id='\" + row[options.idField] + \"' data-index='\" + i + \"'>\");\r\n            if (options.detailView) {\r\n                rows.push(\"<td class='jqGrid-column jqGrid-column-detailViewButton jqGrid-column-detailViewButton-expand'></td>\");\r\n            }\r\n            if (options.rowNumbers) {\r\n                rows.push(\"<td>\" + (i + 1) + \"</td>\");\r\n                colCount++;\r\n            }\r\n            for (var j = 0; j < options.columns.length; j++) {\r\n                colCount++;\r\n                col = options.columns[j];\r\n                var _style = '';\r\n                if (col.cellStyle) {\r\n                    var cellStyle = {};\r\n                    if (typeof col.cellStyle === 'function') {\r\n                        cellStyle = col.cellStyle.call(this, row[col.field], row, j);\r\n                    }\r\n                    else {\r\n                        cellStyle = col.cellStyle;\r\n                    }\r\n                    for (var c in cellStyle) {\r\n                        _style += c + \":\" + cellStyle[c] + \";\";\r\n                    }\r\n                }\r\n                if (col.checkbox) {\r\n                    rows.push(\"<td class='jqGrid-column jqGrid-column-checkbox' \" + _style + \" title='check'><input type='checkbox'/></td>\");\r\n                    continue;\r\n                }\r\n                var width = col.width ? \"width: \" + col.width + \"px;min-width: \" + col.width + \"px;max-width: \" + col.width + \"px;\" : \"\";\r\n                var _val = row[col.field];\r\n                if (col.formatter) {\r\n                    _val = col.formatter.call(target, row[col.field], row, j)\r\n                }\r\n                rows.push(\"<td style='\" + (col.hidden ? \"display:none;\" : \"\") + (col.align ? \"text-align:\" + col.align + \";\" : \"\") + width + _style + \"' class='jqGrid-column jqGrid-column-\" + col.field + \"'>\" + _val + \"</td>\");\r\n            }\r\n            rows.push(\"</tr>\");\r\n            if (options.detailView) {\r\n                rows.push(\"<tr class='jqGrid-row jqGrid-row-detail'>\");\r\n                rows.push(\"<td class='jqGrid-column'></td>\");\r\n                rows.push(\"<td class='jqGrid-detailcolumn' colspan='\" + colCount + \"'></td>\")\r\n                rows.push(\"</tr>\");\r\n            }\r\n        }\r\n        state.tbody.html(rows.join(''));\r\n        options.onRenderCompleted && options.onRenderCompleted.call(target);\r\n        renderFixedColums(target);\r\n    }\r\n    function renderFixedColums(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = state.options;\r\n        // var heads = [], col;\r\n        // heads.push('<tr class=\"jqGrid-head\">');\r\n        // if (options.detailView) {\r\n        //     heads.push(\"<th style='width:50px;'></th>\");\r\n        // }\r\n        // if (options.rowNumbers) {\r\n        //     heads.push(\"<th style='width:50px;'>序号</th>\");\r\n        // }\r\n        var fixedLeftColIndex = -1, fixedRightColIndex = -1;\r\n        for (var i = 0; i < options.columns.length; i++) {\r\n            col = options.columns[i];\r\n            if (col.fixed == \"left\") {\r\n                fixedLeftColIndex = i;\r\n            }\r\n            else if (col.fixed == \"right\") {\r\n                fixedRightColIndex = i;\r\n            }\r\n        }\r\n        if (fixedLeftColIndex > -1) {\r\n            var fixedLeft = state.table.clone().addClass('jqGrid-table-fixed-left')\r\n            fixedLeft.find(\"tr td:gt(\" + fixedLeftColIndex + \")\").remove();\r\n            fixedLeft.find(\"tr th:gt(\" + fixedLeftColIndex + \")\").remove()\r\n            fixedLeft.appendTo(state.table.parent());\r\n        }\r\n        if (fixedRightColIndex > -1) {\r\n            state.table.clone().addClass('jqGrid-table-fixed-right').appendTo(state.table.parent());\r\n        }\r\n    }\r\n    function renderPager(target, pageData) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var options = $.extend({}, state.options.pager, pageData);\r\n        if (options.pageNumber < 1) options.pageNumber = 1;\r\n        if (options.totalCount < 0) options.totalCount = 0;\r\n        options.totalCount = options.totalCount;\r\n        options.pageNumber = options.pageNumber;\r\n        options.pageCount = Math.floor(options.totalCount / options.pageSize) + (options.totalCount % options.pageSize > 0 ? 1 : 0);\r\n\r\n        if (options.pageCount === 0) options.pageCount = 1;\r\n        if (options.pageNumber > options.pageCount) options.pageNumber = options.pageCount || 1;\r\n\r\n        var writer = [];\r\n        writer.push(\"\\n<!--[SD.pager Start]-->\\n<div class=\\\"jqGrid-page\\\">\\n\");\r\n        /*************************************************\r\n        页次信息\r\n        *************************************************/\r\n        if (options.enabledInfoPart) {\r\n            writer.push(\"<div class=\\\"pager-info\\\">\");\r\n            writer.push(options.textOfPageInfo.replace(/{(\\w+)}/g, function (m, key) {\r\n                return options[key] || '';\r\n            }));// + \"/\" + options.pageCount + \"页&nbsp;共\" + options.totalCount + \"条</span>\");\r\n            var pageSize = [];\r\n            pageSize.push(\"<select class='pager-select'>\");\r\n            for (var j = 0; j < options.pageList.length; j++) {\r\n                pageSize.push(\"<option value='\" + options.pageList[j] + \"' \" + (options.pageList[j] === options.pageSize ? 'selected' : '') + \">\" + options.pageList[j] + \"</option >\");\r\n            }\r\n            pageSize.push(\"</select>\");\r\n            writer.push(options.textOfPageSize.replace('{pageSize}', pageSize.join('')));\r\n            writer.push(\"</div>\");\r\n        }\r\n        /*************************************************\r\n        分页按钮\r\n        *************************************************/\r\n        writer.push(\"<div class=\\\"pager-btns\\\">\");\r\n\r\n        //首页和上一页\r\n        if (options.pageNumber > 1) {\r\n            writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + \"1\" + \"\\\">\" + options.textOfFirstButton + \"</a>\");\r\n            writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + (options.pageNumber - 1) + \"\\\">\" + options.textOfPrevButton + \"</a>\");\r\n            //if (options.pageNumber > options.buttonCount)\r\n            //{\r\n            //    writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" +  (options.pageNumber - options.buttonCount)) + \"\\\">...</a>\");\r\n            //}\r\n        }\r\n        else {\r\n            writer.push(\"<a class=\\\"pager-btn pager-disable\\\">\" + options.textOfFirstButton + \"</a>\");\r\n            writer.push(\"<a class=\\\"pager-btn pager-disable\\\">\" + options.textOfPrevButton + \"</a>\");\r\n        }\r\n        //\r\n        var startNum;\r\n        var endNum;\r\n        var temp = 0;\r\n        if (options.pageCount > options.buttonCount) {\r\n            temp = Math.floor(options.buttonCount / 2) + options.buttonCount % 2;\r\n            if (options.pageNumber < temp) {\r\n                startNum = 1;\r\n                endNum = options.buttonCount + 1;\r\n            }\r\n            else {\r\n                startNum = options.pageNumber - temp + 1;\r\n                endNum = options.pageNumber - temp + options.buttonCount;\r\n                if (endNum > options.pageCount)\r\n                    endNum = options.pageCount;\r\n                endNum++;//采用小于判断\r\n            }\r\n        }\r\n        else {\r\n            startNum = 1;\r\n            endNum = options.pageCount + 1; //采用小于判断\r\n        }\r\n        writer.push(\"<sapn class=\\\"pager-space\\\">&nbsp;</sapn>\");\r\n        if (options.pageNumber > 1) {\r\n            if (options.pageNumber > options.buttonCount) {\r\n                writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + (options.pageNumber - options.buttonCount) + \"\\\" title=\\\"前 \" + options.buttonCount + \" 页\\\">...</a>\");\r\n            }\r\n        }\r\n        //前半部分\r\n        for (var i = startNum; i < options.pageNumber; i++) //采用小于判断\r\n        {\r\n            writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + i + \"\\\" title=\\\"第 \" + i.toString() + \" 页\\\">\" + i.toString() + \"</a>\");\r\n        }\r\n        //当前页\r\n        writer.push(\"<a class=\\\"pager-btn pager-current\\\" title=\\\"当前页\\\">\" + options.pageNumber + \"</a>\");\r\n        //后半部分\r\n        for (var i = options.pageNumber + 1; i < endNum; i++) {\r\n            writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + i + \"\\\" title=\\\"第 \" + i.toString() + \" 页\\\">\" + i + \"</a>\");\r\n        }\r\n        if (options.pageNumber < options.pageCount) {\r\n            if (options.pageNumber < options.pageCount - options.buttonCount) {\r\n                writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + (options.pageNumber + options.buttonCount) + \"\\\" title=\\\"后 \" + options.buttonCount + \" 页\\\">...</a>\");\r\n            }\r\n        }\r\n        writer.push(\"<sapn class=\\\"pager-space\\\">&nbsp;</sapn>\");\r\n        //下一页和尾页\r\n        if (options.pageNumber < options.pageCount) {\r\n            //if (options.pageNumber < pageCount - options.buttonCount)\r\n            //{\r\n            //    writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" +  (options.pageNumber + options.buttonCount)) + \"\\\">...</a>\");\r\n            //}\r\n            writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + (options.pageNumber + 1) + \"\\\">\" + options.textOfNextButton + \"</a>\");\r\n            writer.push(\"<a class=\\\"pager-btn\\\" options-pager=\\\"\" + options.pageCount + \"\\\">\" + options.textOfLastButton + \"</a>\");\r\n        }\r\n        else {\r\n            writer.push(\"<a class=\\\"pager-btn pager-disable\\\">\" + options.textOfNextButton + \"</a>\");\r\n            writer.push(\"<a class=\\\"pager-btn pager-disable\\\">\" + options.textOfLastButton + \"</a>\");\r\n        }\r\n\r\n        /*************************************************\r\n        输入框\r\n        *************************************************/\r\n        if (options.enabledGoPart) {\r\n            //writer.push(\"<div class=\\\"pager-go\\\">\");\r\n            //writer.push(\"<span class=\\\"pager-text\\\">前往</span>\");\r\n            var inputGoto = \"<input class=\\\"pager-go-input\\\" type='number' min=\\\"1\\\" max=\\\"\" + options.pageCount + \"\\\" value='\" + options.pageNumber + \"'/>\";\r\n            writer.push(inputGoto);\r\n            //writer.push(options.textOfGoTo.replace('{goTo}', inputGoto));\r\n            writer.push(\"</span><a class='pager-btn pager-go-btn'>\" + options.textOfGoButton + \"</a>\");\r\n            //writer.push(\"</div>\");\r\n            //self.location.options-pager='\"+ \"'+p+'\") + \"';\r\n        }\r\n        writer.push(\"</div>\");\r\n\r\n\r\n        writer.push(\"<span style='clear:both;display: block;'></span>\");\r\n        writer.push(\"</div>\\n<!--[SD.pager end]-->\\n\");\r\n        state.pager.empty().html(writer.join(''))\r\n        state.options.pager = options;\r\n        $.data(target, PLUGIN_NAME, state);\r\n    }\r\n    function _reload(target, queryParams) {\r\n        buildQueryParams(target, queryParams);\r\n        //调整到第一页\r\n        page(target, 1);\r\n        //load(target);\r\n    }\r\n    function _refresh(target) {\r\n        load(target);\r\n    }\r\n    function _getRows(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        return state.data || [];\r\n    }\r\n    function _getRowById(target, params) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var item = $.map(state.data, function (n) {\r\n            if (n.ID == params.id) {\r\n                return n;\r\n            }\r\n        });\r\n        return (item && item.length > 0 ? item[0] : null);\r\n    }\r\n    function _getPager(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        return state.options.pager;\r\n    }\r\n    function _getSelections(target) {\r\n        var data = _getRows(target);\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var items = $.map(state.tbody.find('tr.jqGrid-row-selected'), function (n) {\r\n            return data[parseInt($(n).attr('data-index'))];\r\n        });\r\n        return items;\r\n    }\r\n    function _getCheckeds(target) {\r\n        var data = _getRows(target);\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var items = $.map(state.tbody.find('td.jqGrid-column-checkbox input:checked'), function (n) {\r\n            return data[parseInt($(n).closest('tr').attr('data-index'))];\r\n        });\r\n        return items;\r\n    }\r\n    function _clear(target) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        state.data = [];\r\n        renderRow(target);\r\n    }\r\n    function _remove(target, params) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n\r\n        if (typeof params === 'function') {\r\n            if (state.data.length > 0) {\r\n                for (var i = state.data.length - 1; i >= 0; i--) {\r\n                    var del = params.call(this, state.data[i]);\r\n                    if (del) {\r\n                        state.data.splice(i, 1);\r\n                    }\r\n                }\r\n            }\r\n        } else {\r\n            if (params && params.field && params.values && params.values.length > 0) {\r\n                for (var i = 0; i < state.data.length; i++) {\r\n                    if (state.data[i][params.field]) {\r\n                        var _index = params.values.indexOf(state.data[i][params.field]);\r\n                        if (_index > -1)\r\n                            state.data.splice(_index, 1);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n        renderRow(target);\r\n    }\r\n    function _append(target, data) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        if (!state.data) state.data = [];\r\n        state.data.push(data);\r\n        renderRow(target);\r\n    }\r\n    function _options(target, options) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        state.options = $.extend({}, state.options, options);\r\n    }\r\n    function _updateRow(target, params) {\r\n        var state = $.data(target, PLUGIN_NAME);\r\n        var data = state.data || [];\r\n        if (params && params.index > -1 && params.row) {\r\n            for (var i = 0; i < data.length; i++) {\r\n                if (i === params.index) {\r\n                    data[i] = $.extend({}, data[i], params.row);\r\n                }\r\n            }\r\n        }\r\n        renderRow(target);\r\n    }\r\n    $.fn[PLUGIN_NAME] = function (options) {\r\n        if (typeof options === 'string' && $.fn[PLUGIN_NAME].methods[options]) {\r\n            return $.fn[PLUGIN_NAME].methods[options].apply(this, Array.prototype.slice.call(arguments, 1));\r\n        } else if (typeof options === 'object' || !options) {\r\n            return $.fn[PLUGIN_NAME].methods.init.apply(this, arguments);\r\n        } else {\r\n            $.error('Method ' + options + ' does not exist on jQuery' + PLUGIN_NAME);\r\n        }\r\n    };\r\n    $.fn[PLUGIN_NAME].version = \"1.0\";\r\n    $.fn[PLUGIN_NAME].defaults = {\r\n        data: [],\r\n        skin: \"bordered\",\r\n        loadMsg: \"loading...\",\r\n        method: 'post',\r\n        cache: true,\r\n        pagination: false,\r\n        sortable: false,\r\n        contentType: 'application/x-www-form-urlencoded',\r\n        rowNumbers: false,\r\n        clickToSelect: true,//\tTrue to select checkbox or radiobox when clicking rows.\r\n        detailView: false,\r\n        singleSelect: true, //True to allow checkbox selecting only one row.\r\n        dataField: 'Results',//root\r\n        maintainSelected: false,//True to maintain selected rows on change page and search.\r\n        showFilterBar: false,\r\n        request: { headers: null },\r\n        queryParams: null,\r\n        onLoadBefore: null, //function(param) { return  param ;}\r\n        onLoadFilter: function (data) {\r\n            var state = $.data(this, PLUGIN_NAME);\r\n            var options = state.options;\r\n            var d = [];\r\n            if (data.Data) {\r\n                data = data.Data;\r\n            }\r\n            if (data && (data[options.dataField] || data.PageNumber)) {\r\n                d = data[options.dataField];\r\n                d.PageCount = data.PageCount;\r\n                d.PageNumber = data.PageNumber;\r\n                d.PageSize = data.PageSize;\r\n                d.TotalCount = data.TotalCount;\r\n                d.Count = data.Count;\r\n                if (data.Extends !== null) {\r\n                    d.Extends = data.Extends;\r\n                }\r\n\r\n            } else if (data && $.isArray(data)) {\r\n                d = data;\r\n                d.PageCount = 1;\r\n                d.PageNumber = 1;\r\n                d.PageSize = data.length;\r\n                d.TotalCount = data.length;\r\n                d.Count = data.length;\r\n            }\r\n            return d;\r\n        },\r\n        onLoadSuccess: function (data) { },\r\n        onLoadError: function (error) {\r\n            console.log(error);\r\n        },\r\n        onRenderCompleted: function () { },\r\n        onExpandRow: function (index, row, $detail) { },\r\n        onRowMouseEnter: function (rowEle, row) { },\r\n        onRowMouseLeave: function (rowEle, row) { },\r\n        onRowClick: function (rowEle, row) { },\r\n        pager: {\r\n            pageNumber: 1,\r\n            pageSize: 10,\r\n            buttonCount: 2,\r\n            pageCount: 10,\r\n            pageList: [10, 20, 50/*, 100*/],\r\n            textOfPageInfo: '第{pageNumber}/{pageCount}页 共{totalCount}条',\r\n            textOfPageSize: '每页{pageSize}条',\r\n            textOfFirstButton: \"« 第一页\",\r\n            textOfLastButton: \"最后一页 »\",\r\n            textOfPrevButton: \"‹ 上一页\",\r\n            textOfNextButton: \"下一页 ›\",\r\n            textOfGoButton: \"Go ➜\",\r\n            enabledInfoPart: true,\r\n            enabledGoPart: true,\r\n            onPager: function (pager) { }\r\n        }\r\n    };\r\n    $.fn[PLUGIN_NAME].methods = {\r\n        init: function (options) {\r\n            return this.each(function () {\r\n                var $this = $(this);\r\n                var state = $.data(this, PLUGIN_NAME);\r\n                if (state) {\r\n                    $.extend(state.options, options);\r\n                } else {\r\n                    var settings = $.extend({}, $.fn[PLUGIN_NAME].defaults, options);\r\n                    settings.pager = $.extend({}, $.fn[PLUGIN_NAME].defaults.pager, options.pager);\r\n                    state = $.data(this, PLUGIN_NAME, {\r\n                        target: this,\r\n                        selecter: $this,\r\n                        options: settings,\r\n                        vars: {},\r\n                        data: options.data\r\n                    });\r\n                    _init(this, state, options);\r\n                }\r\n            });\r\n        },\r\n        reload: function (param) {\r\n            return this.each(function () {\r\n                _reload(this, param);\r\n            });\r\n        },\r\n        refresh: function (param) {\r\n            return this.each(function () {\r\n                _refresh(this, param);\r\n            });\r\n        },\r\n        getSelections: function () {\r\n            return _getSelections(this[0]);\r\n        },\r\n        getCheckeds: function () {\r\n            return _getCheckeds(this[0]);\r\n        },\r\n        getRows: function () {\r\n            return _getRows(this[0]);\r\n        },\r\n        getRowById: function (id) {\r\n            return _getRowById(this[0], id);\r\n        },\r\n        getPager: function () {\r\n            return _getPager(this[0]);\r\n        },\r\n        //Remove data from table, the params contains two properties: field: the field name of remove rows. values: the array of values for rows which should be removed.\r\n        remove: function (params) {\r\n            return this.each(function () {\r\n                _remove(this, params);\r\n            });\r\n        },\r\n        clear: function () {\r\n            return this.each(function () {\r\n                _clear(this);\r\n            });\r\n        },\r\n        //Append the data to table.\r\n        append: function (data) {\r\n            return this.each(function () {\r\n                _append(this, data);\r\n            });\r\n        },\r\n        //Update the specified row(s), each param contains following properties: \r\n        //index: the row index to be updated.\r\n        //row: the new row data.\r\n        updateRow: function (params) {\r\n            return this.each(function () {\r\n                _updateRow(this, params);\r\n            });\r\n        },\r\n        destroy: function () {\r\n            return this.each(function () {\r\n                _destroy(this);\r\n            });\r\n        },\r\n        options: function (params) {\r\n            return this.each(function () {\r\n                _options(this, params);\r\n            });\r\n        }\r\n    };\r\n    //var _language = \"zh-cn\";\r\n    //var arr = window.document.cookie.match(new RegExp(\"(^| )lang=([^;]*)(;|$)\"));\r\n    //if (arr !== null) {\r\n    //    _language = unescape(arr[2]);\r\n    //}\r\n    //document.writeln('<script src=\"/lib/jquery.jqGrid/locales/' + _language + '.js\"><\\/script>');\r\n    //var _theme = \"blue\";\r\n    //var _themeSet = window.document.cookie.match(new RegExp(\"(^| )theme=([^;]*)(;|$)\"));\r\n    //if (_themeSet !== null) {\r\n    //    _theme = unescape(_themeSet[2]);\r\n    //}\r\n    //document.writeln('<link rel=\"stylesheet\" href=\"/lib/jquery.jqGrid/themes/' + _theme + '.css\"/>');\r\n})(window, jQuery);\r\n"]}