C# 如何通过外部按钮在数据库中一次性添加jqgrid数据

C# 如何通过外部按钮在数据库中一次性添加jqgrid数据,c#,jquery,asp.net,asp.net-mvc,jqgrid,C#,Jquery,Asp.net,Asp.net Mvc,Jqgrid,如何在jqgrid中添加值,然后通过在jqgrid页面中创建的外部按钮将其保存到数据库中 我有以下jqgrid: <script type="text/javascript"> ... jQuery(#grid-table).jqGrid({ url: '@Url.Action("GetStore", "Store")', datatype: 'json', mtype: 'Get', height:

如何在jqgrid中添加值,然后通过在jqgrid页面中创建的外部按钮将其保存到数据库中

我有以下jqgrid:

<script type="text/javascript">
    ...

    jQuery(#grid-table).jqGrid({
        url: '@Url.Action("GetStore", "Store")',
        datatype: 'json',
        mtype: 'Get',
        height: '430',
        colNames: [ 'Code', 'Name' ],
        colModel: [
            { key: true, name: 'Id', index: 'Id', sorttype: "int" },
            { key: false, name: 'Name', index: 'Name', editable: true }
        ],
        viewrecords: true,
        loadonce: true,
        rowNum: 10,
        rowList: [5, 10, 15],
        jsonReader: {
            root: "rows",
            page: "page",
            total: "total",
            records: "records",
            repeatitems: false
            Id: "0"
        },
        pager: jQuery(#grid-pager),
        altRows: true,
        multiselect: true,
        multiboxonly: true,
        caption: "Stores",
    });

    jQuery(grid_selector).jqGrid('navGrid', #grid-pager,
        {   //navbar options
            edit: false,
            add: true,
            del: false,
            search: false,
            refresh: false,
            view: false,
        },
        {
            recreateForm: true,
            url: '@Url.Action("Edit","Store")',
        },
        {
            recreateForm: true,
            url: '@Url.Action("Create","Store")',
        },
        {
            recreateForm: true,
            url: '@Url.Action("Delete", "Store")',
        },
        {
            recreateForm: true,
            multipleSearch: true
        },
        {
            recreateForm: true,
        }
    )
</script>

....

<button type="submit" class="btn btn-info" id="subitbutton"> 
    Create 
</button>
以及控制器中的以下代码:

public JsonResult GetStores(string sidx, string sord, int page, int rows, int idStore) 
{
    int pageIndex = page - 1;
    int pageSize = rows;
    var storesResults = db.Stores.Select(
            a => new { a.Id, a.Name });

    int totalRecords = storesResults.Count();
    var totalPages = (int) Math.Ceiling((float) totalRecords / (float) rows);
    if (sord.ToUpper() == "ASC")
    {
        storesResults = storesResults.OrderBy(s => s.Name);
        storesResults = storesResults.Skip(pageIndex * pageSize).Take(pageSize);
    }
    else
    {
        storesResults = storesResults.OrderByDescending(s => s.Name);
        storesResults = storesResults.Skip(pageIndex * pageSize).Take(pageSize);
    }
    var jsonData = new
    {
        total = totalPages, page, records = totalRecords, rows = storesResults
    };
    return Json(jsonData, JsonRequestBehavior.AllowGet);
}

[HttpPost]
public ActionResult Create(Stores store)
{
    db.Store.Add(store);
    return view(store);
}

public ActionResult Edit(Store store)
{
    if (ModelState.isValid)
    {
        db.Entry(store).State = EntityState.Modified;
        db.SaveChanges();
    }
    return View(store);
}

public void Delete(string id)
{
    var ids = id.Split(',');
    foreach (var idStore in ids)
    {
        int storeId = Convert.ToInt32(idStore);
        Store storeToDelete = db.Stores.Find(storeId);
        db.Stores.Remove(storeToDelete);
    }
    db.SaveChanges();
}
现在,我的jqgrid将每个新行发送到服务器,我的方法将其保存在数据库中。 我需要的是在我的视图中存储所有行,并在一个步骤中将所有行发送到我的服务器-可能使用外部按钮

提前谢谢

更新

根据Oleg的要求,以下是我的jqGrid演示:

<script type="text/javascript">
    jQuery(function ($) {
        var grid_selector = "#grid-table-dados-adicionais";
        var pager_selector = "#grid-pager-dados-adicionais";

        //resize to fit page size
        $(window).on('resize.jqGrid', function () {
            $(grid_selector).jqGrid('setGridWidth', $(".page-content").width());
        })
        //resize on sidebar collapse/expand
        var parent_column = $(grid_selector).closest('[class*="col-"]');
        $(document).on('settings.ace.jqGrid', function (ev, event_name, collapsed) {
            if (event_name === 'sidebar_collapsed' || event_name === 'main_container_fixed') {
                //setTimeout is for webkit only to give time for DOM changes and then redraw!!!
                setTimeout(function () {
                    $(grid_selector).jqGrid('setGridWidth', parent_column.width());
                }, 0);
            }
        })

        jQuery(grid_selector).jqGrid({
            //direction: "rtl",

            url: '@Url.Action("GetDadosAdicionais", "LojaDadosAdicionais", new { idLoja = @Model.Id })',
            datatype: 'json',
            mtype: 'Get',
            height: '430',
            colNames: [' ',
                       'Id',
                       'Name'
            ],
            colModel: [
                {
                    name: 'myac', index: '', width: 65, fixed: true, sortable: false, resize: false,
                    formatter: 'actions',
                    formatoptions: {
                        keys: true,
                        delOptions: {
                            recreateForm: true,
                            reloadAfterSubmit: false,
                            beforeShowForm: beforeDeleteCallback
                        },
                        editformbutton: true,
                        editOptions:
                        {
                            recreateForm: true,
                            reloadAfterSubmit: false,
                            closeAfterEdit: true,
                            beforeShowForm: beforeEditCallback,
                            closeOnEscape: true
                        }
                    }
                },
                { key: true, hidden: true, name: 'Id', index: 'Id', sorttype: "int", editable: false },
                { key: false, hidden: true, name: 'Name', index: 'Name', sorttype: "int", editable: true },
            ],

            viewrecords: true,
            loadonce: true,
            editurl: "clientArray",
            rowNum: 10,
            rowList: [5, 10, 15],
            jsonReader: {
                root: "rows",
                page: "page",
                total: "total",
                records: "records",
                repeatitems: false,
                Id: "0"
            },
            pager: jQuery(pager_selector),
            altRows: true,
            //toppager: true,
            autowidth: true,
            multiselect: true,
            sortorder: "desc",
            scrollOffset: 0,
            height: "auto",
            //multikey: "ctrlKey",
            multiboxonly: true,
            loadComplete: function () {
                var table = this;
                setTimeout(function () {
                    updateActionIcons(table);
                    updatePagerIcons(table);
                    enableTooltips(table);
                }, 0);
            },
            caption: "Registration",
        });
        $(window).triggerHandler('resize.jqGrid');//trigger window resize to make the grid get the correct size

        //switch element when editing inline
        function aceSwitch(cellvalue, options, cell) {
            setTimeout(function () {
                $(cell).find('input[type=checkbox]')
                    .addClass('ace ace-switch ace-switch-5')
                    .after('<span class="lbl"></span>');
            }, 0);
        }

        //navButtons
        jQuery(grid_selector).jqGrid('navGrid', pager_selector,
            {   //navbar options
                edit: true,
                editicon: 'ace-icon fa fa-pencil blue',
                add: true,
                addicon: 'ace-icon fa fa-plus-circle purple',
                del: true,
                delicon: 'ace-icon fa fa-trash-o red',
                search: true,
                searchicon: 'ace-icon fa fa-search orange',
                refresh: true,
                refreshicon: 'ace-icon fa fa-refresh green',
                view: true,
                viewicon: 'ace-icon fa fa-search-plus grey',
            },
            {
                closeOnEscape: true,
                closeAfterEdit: true,
                recreateForm: true,
                reloadAfterSubmit: false,
                width: 500,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
                    style_edit_form(form);
                }
            },
            {
                closeOnEscape: true,
                closeAfterAdd: true,
                recreateForm: true,
                reloadAfterSubmit: false,
                width: 500,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar')
                    .wrapInner('<div class="widget-header" />')
                    style_edit_form(form);
                }
            },
            {
                closeOnEscape: true,
                closeAfterDelete: true,
                recreateForm: true,
                reloadAfterSubmit: false,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    if (form.data('styled')) return false;
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
                    style_delete_form(form);
                    form.data('styled', true);
                }
            },
            {
                //search form
                recreateForm: true,
                reloadAfterSubmit: false,
                afterShowSearch: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-title').wrap('<div class="widget-header" />')
                    style_search_form(form);
                },
                afterRedraw: function () {
                    style_search_filters($(this));
                },
                closeOnEscape: true,
                closeAfterSearch: true,
                multipleSearch: true
            },
            {
                //view record form
                recreateForm: true,
                reloadAfterSubmit: false,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-title').wrap('<div class="widget-header" />')
                }
            }
        )

        $.extend($.jgrid.edit, {
            beforeSubmit: function () {
                $(this).jqGrid("setGridParam", { datatype: "json" });
                return [true, "", ""];
            }
        });


        $.extend($.jgrid.add, {
            beforeSubmit: function () {
                $(this).jqGrid("setGridParam", { datatype: "json" });
                return [true, "", ""];
            }
        });

        $('#filterButton').click(function (event) {
            event.preventDefault();

            filterGrid();
        });

        $('#TargetDate').datepicker({
            dateFormat: 'mm/dd/yy'
        });

        function filterGrid() {
            var postDataValues = $("#grid").jqGrid('getGridParam', 'postData');

            // grab all the filter ids and values and add to the post object
            $('.filterItem').each(function (index, item) {
                postDataValues[$(item).attr('id')] = $(item).val();
            });

            $('#grid').jqGrid().setGridParam({ postData: postDataValues, page: 1 }).trigger('reloadGrid');
        }

        function style_edit_form(form) {
            //enable datepicker on "sdate" field and switches for "stock" field
            form.find('input[name=sdate]').datepicker({ format: 'yyyy-mm-dd', autoclose: true })

            form.find('input[name=stock]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>');

            //update buttons classes
            var buttons = form.next().find('.EditButton .fm-button');
            buttons.addClass('btn btn-sm').find('[class*="-icon"]').hide();//ui-icon, s-icon
            buttons.eq(0).addClass('btn-primary').prepend('<i class="ace-icon fa fa-check"></i>');
            buttons.eq(1).prepend('<i class="ace-icon fa fa-times"></i>')

            buttons = form.next().find('.navButton a');
            buttons.find('.ui-icon').hide();
            buttons.eq(0).append('<i class="ace-icon fa fa-chevron-left"></i>');
            buttons.eq(1).append('<i class="ace-icon fa fa-chevron-right"></i>');
        }

        function style_delete_form(form) {
            var buttons = form.next().find('.EditButton .fm-button');
            buttons.addClass('btn btn-sm btn-white btn-round').find('[class*="-icon"]').hide();//ui-icon, s-icon
            buttons.eq(0).addClass('btn-danger').prepend('<i class="ace-icon fa fa-trash-o"></i>');
            buttons.eq(1).addClass('btn-default').prepend('<i class="ace-icon fa fa-times"></i>')
        }

        function style_search_filters(form) {
            form.find('.delete-rule').val('X');
            form.find('.add-rule').addClass('btn btn-xs btn-primary');
            form.find('.add-group').addClass('btn btn-xs btn-success');
            form.find('.delete-group').addClass('btn btn-xs btn-danger');
        }
        function style_search_form(form) {
            var dialog = form.closest('.ui-jqdialog');
            var buttons = dialog.find('.EditTable')
            buttons.find('.EditButton a[id*="_reset"]').addClass('btn btn-sm btn-info').find('.ui-icon').attr('class', 'ace-icon fa fa-retweet');
            buttons.find('.EditButton a[id*="_query"]').addClass('btn btn-sm btn-inverse').find('.ui-icon').attr('class', 'ace-icon fa fa-comment-o');
            buttons.find('.EditButton a[id*="_search"]').addClass('btn btn-sm btn-purple').find('.ui-icon').attr('class', 'ace-icon fa fa-search');
        }

        function beforeDeleteCallback(e) {
            var form = $(e[0]);
            if (form.data('styled')) return false;

            form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
            style_delete_form(form);

            form.data('styled', true);
        }

        function beforeEditCallback(e) {
            var form = $(e[0]);
            form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
            style_edit_form(form);
        }

        //replace icons with FontAwesome icons like above
        function updatePagerIcons(table) {
            var replacement =
            {
                'ui-icon-seek-first': 'ace-icon fa fa-angle-double-left bigger-140',
                'ui-icon-seek-prev': 'ace-icon fa fa-angle-left bigger-140',
                'ui-icon-seek-next': 'ace-icon fa fa-angle-right bigger-140',
                'ui-icon-seek-end': 'ace-icon fa fa-angle-double-right bigger-140'
            };
            $('.ui-pg-table:not(.navtable) > tbody > tr > .ui-pg-button > .ui-icon').each(function () {
                var icon = $(this);
                var $class = $.trim(icon.attr('class').replace('ui-icon', ''));

                if ($class in replacement) icon.attr('class', 'ui-icon ' + replacement[$class]);
            })
        }

        function updateActionIcons(table) {
            var replacement =
            {
                'ui-ace-icon fa fa-pencil': 'ace-icon fa fa-pencil blue',
                'ui-ace-icon fa fa-trash-o': 'ace-icon fa fa-trash-o red',
                'ui-icon-disk': 'ace-icon fa fa-check green',
                'ui-icon-cancel': 'ace-icon fa fa-times red'
            };
            $(table).find('.ui-pg-div span.ui-icon').each(function () {
                var icon = $(this);
                var $class = $.trim(icon.attr('class').replace('ui-icon', ''));
                if ($class in replacement) icon.attr('class', 'ui-icon ' + replacement[$class]);
            })
        }

        function enableTooltips(table) {
            $('.navtable .ui-pg-button').tooltip({ container: 'body' });
            $(table).find('.ui-pg-div').tooltip({ container: 'body' });
        }

        //var selr = jQuery(grid_selector).jqGrid('getGridParam','selrow');

        $(document).one('ajaxloadstart.page', function (e) {
            $(grid_selector).jqGrid('GridUnload');
            $('.ui-jqdialog').remove();
        });

    });
</script>

....

<button type="submit" class="btn btn-info" id="submitbutton"> 
    Create 
</button>

jQuery(函数($){
var grid_选择器=“#网格表dados adicionais”;
var pager_选择器=“#网格寻呼机dados adicionais”;
//调整大小以适应页面大小
$(window).on('resize.jqGrid',函数(){
$(网格选择器).jqGrid('setGridWidth',$(“.page content”).width();
})
//在侧边栏折叠/展开时调整大小
var parent_column=$(网格选择器)。最近('[class*=“col-”]);
$(document).on('settings.ace.jqGrid',函数(ev,事件名称,折叠){
如果(事件名称=='sidebar_collapsed'| |事件名称==='main_container_fixed'){
//setTimeout仅用于webkit为DOM更改提供时间,然后重新绘制!!!
setTimeout(函数(){
$(grid_选择器).jqGrid('setGridWidth',parent_column.width());
}, 0);
}
})
jQuery(网格选择器).jqGrid({
//方向:“rtl”,
url:'@url.Action(“GetDadoSadiciais”,“LojaDadoSadiciais”,新的{idLoja=@Model.Id})”,
数据类型:“json”,
mtype:'获取',
高度:'430',
colNames:['',
“Id”,
“姓名”
],
colModel:[
{
名称:“myac”,索引:“”,宽度:65,固定值:true,可排序值:false,大小:false,
格式化程序:“操作”,
格式选项:{
凯斯:没错,
删除选项:{
再现形式:正确,
reloadAfterSubmit:false,
beforeShowForm:beforeDeleteCallback
},
editformbutton:对,
编辑选项:
{
再现形式:正确,
reloadAfterSubmit:false,
closeAfterEdit:true,
beforeShowForm:beforeEditCallback,
closeOnEscape:真的
}
}
},
{key:true,hidden:true,name:'Id',index:'Id',sorttype:'int',editable:false},
{key:false,hidden:true,name:'name',index:'name',sorttype:'int',editable:true},
],
viewrecords:是的,
有一次:是的,
editurl:“客户端阵列”,
rowNum:10,
行列表:[5,10,15],
jsonReader:{
根:“行”,
第页:“第页”,
总计:“总计”,
记录:“记录”,
重复项:false,
Id:“0”
},
寻呼机:jQuery(寻呼机选择器),
阿尔特罗斯:是的,
//是的,
自动宽度:正确,
多选:对,
巫师:“描述”,
滚动偏移量:0,
高度:“自动”,
//多键:“ctrlKey”,
multiboxonly:正确,
loadComplete:函数(){
var表=此;
setTimeout(函数(){
更新条款(表);
UpdatePage图标(表格);
启用工具提示(表);
}, 0);
},
标题:“注册”,
});
$(window.triggerHandler('resize.jqGrid');//触发窗口调整大小以使网格获得正确的大小
//内联编辑时切换元素
功能开关(单元格值、选项、单元格){
setTimeout(函数(){
$(单元格).find('input[type=checkbox]'))
.addClass('ace开关ace-switch-5')
.在('')之后;
}, 0);
}
//导航按钮
jqGrid('navGrid',寻呼机选择器,
{//导航栏选项
编辑:对,
editicon:“王牌图标fa铅笔蓝”,
加:是的,
addicon:“王牌图标fa加上紫色圆圈”,
戴尔:是的,
delicon:“王牌图标fa-fa-trash-o red”,
搜索:对,
搜索图标:“ace图标fa搜索橙色”,
刷新:是的,
刷新图标:“ace图标fa刷新绿色”,
观点:没错,
视图图标:“ace图标fa搜索加灰色”,
},
{
closeOnEscape:没错,
closeAfterEdit:true,
再现形式:正确,
reloadAfterSubmit:false,
宽度:500,
beforeShowForm:函数(e){
变量形式=$(e[0]);
form.closest('.ui jqdialog').find('.ui jqdialog titlebar').wrapInner('')
样式编辑表格(表格);
}
},
{
closeOnEscape:没错,
closeAfterAdd:true,
再现形式:正确,
reloadAfterSubmit:false,
宽度:500,
beforeShowForm:函数(e){
变量形式=$(e[0]);
form.closest('.ui jqdialog')。find('.ui jqdialog titlebar'))
.
<script type="text/javascript">
    jQuery(function ($) {
        var grid_selector = "#grid-table-dados-adicionais";
        var pager_selector = "#grid-pager-dados-adicionais";

        //resize to fit page size
        $(window).on('resize.jqGrid', function () {
            $(grid_selector).jqGrid('setGridWidth', $(".page-content").width());
        })
        //resize on sidebar collapse/expand
        var parent_column = $(grid_selector).closest('[class*="col-"]');
        $(document).on('settings.ace.jqGrid', function (ev, event_name, collapsed) {
            if (event_name === 'sidebar_collapsed' || event_name === 'main_container_fixed') {
                //setTimeout is for webkit only to give time for DOM changes and then redraw!!!
                setTimeout(function () {
                    $(grid_selector).jqGrid('setGridWidth', parent_column.width());
                }, 0);
            }
        })

        jQuery(grid_selector).jqGrid({
            //direction: "rtl",

            url: '@Url.Action("GetDadosAdicionais", "LojaDadosAdicionais", new { idLoja = @Model.Id })',
            datatype: 'json',
            mtype: 'Get',
            height: '430',
            colNames: [' ',
                       'Id',
                       'Name'
            ],
            colModel: [
                {
                    name: 'myac', index: '', width: 65, fixed: true, sortable: false, resize: false,
                    formatter: 'actions',
                    formatoptions: {
                        keys: true,
                        delOptions: {
                            recreateForm: true,
                            reloadAfterSubmit: false,
                            beforeShowForm: beforeDeleteCallback
                        },
                        editformbutton: true,
                        editOptions:
                        {
                            recreateForm: true,
                            reloadAfterSubmit: false,
                            closeAfterEdit: true,
                            beforeShowForm: beforeEditCallback,
                            closeOnEscape: true
                        }
                    }
                },
                { key: true, hidden: true, name: 'Id', index: 'Id', sorttype: "int", editable: false },
                { key: false, hidden: true, name: 'Name', index: 'Name', sorttype: "int", editable: true },
            ],

            viewrecords: true,
            loadonce: true,
            editurl: "clientArray",
            rowNum: 10,
            rowList: [5, 10, 15],
            jsonReader: {
                root: "rows",
                page: "page",
                total: "total",
                records: "records",
                repeatitems: false,
                Id: "0"
            },
            pager: jQuery(pager_selector),
            altRows: true,
            //toppager: true,
            autowidth: true,
            multiselect: true,
            sortorder: "desc",
            scrollOffset: 0,
            height: "auto",
            //multikey: "ctrlKey",
            multiboxonly: true,
            loadComplete: function () {
                var table = this;
                setTimeout(function () {
                    updateActionIcons(table);
                    updatePagerIcons(table);
                    enableTooltips(table);
                }, 0);
            },
            caption: "Registration",
        });
        $(window).triggerHandler('resize.jqGrid');//trigger window resize to make the grid get the correct size

        //switch element when editing inline
        function aceSwitch(cellvalue, options, cell) {
            setTimeout(function () {
                $(cell).find('input[type=checkbox]')
                    .addClass('ace ace-switch ace-switch-5')
                    .after('<span class="lbl"></span>');
            }, 0);
        }

        //navButtons
        jQuery(grid_selector).jqGrid('navGrid', pager_selector,
            {   //navbar options
                edit: true,
                editicon: 'ace-icon fa fa-pencil blue',
                add: true,
                addicon: 'ace-icon fa fa-plus-circle purple',
                del: true,
                delicon: 'ace-icon fa fa-trash-o red',
                search: true,
                searchicon: 'ace-icon fa fa-search orange',
                refresh: true,
                refreshicon: 'ace-icon fa fa-refresh green',
                view: true,
                viewicon: 'ace-icon fa fa-search-plus grey',
            },
            {
                closeOnEscape: true,
                closeAfterEdit: true,
                recreateForm: true,
                reloadAfterSubmit: false,
                width: 500,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
                    style_edit_form(form);
                }
            },
            {
                closeOnEscape: true,
                closeAfterAdd: true,
                recreateForm: true,
                reloadAfterSubmit: false,
                width: 500,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar')
                    .wrapInner('<div class="widget-header" />')
                    style_edit_form(form);
                }
            },
            {
                closeOnEscape: true,
                closeAfterDelete: true,
                recreateForm: true,
                reloadAfterSubmit: false,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    if (form.data('styled')) return false;
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
                    style_delete_form(form);
                    form.data('styled', true);
                }
            },
            {
                //search form
                recreateForm: true,
                reloadAfterSubmit: false,
                afterShowSearch: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-title').wrap('<div class="widget-header" />')
                    style_search_form(form);
                },
                afterRedraw: function () {
                    style_search_filters($(this));
                },
                closeOnEscape: true,
                closeAfterSearch: true,
                multipleSearch: true
            },
            {
                //view record form
                recreateForm: true,
                reloadAfterSubmit: false,
                beforeShowForm: function (e) {
                    var form = $(e[0]);
                    form.closest('.ui-jqdialog').find('.ui-jqdialog-title').wrap('<div class="widget-header" />')
                }
            }
        )

        $.extend($.jgrid.edit, {
            beforeSubmit: function () {
                $(this).jqGrid("setGridParam", { datatype: "json" });
                return [true, "", ""];
            }
        });


        $.extend($.jgrid.add, {
            beforeSubmit: function () {
                $(this).jqGrid("setGridParam", { datatype: "json" });
                return [true, "", ""];
            }
        });

        $('#filterButton').click(function (event) {
            event.preventDefault();

            filterGrid();
        });

        $('#TargetDate').datepicker({
            dateFormat: 'mm/dd/yy'
        });

        function filterGrid() {
            var postDataValues = $("#grid").jqGrid('getGridParam', 'postData');

            // grab all the filter ids and values and add to the post object
            $('.filterItem').each(function (index, item) {
                postDataValues[$(item).attr('id')] = $(item).val();
            });

            $('#grid').jqGrid().setGridParam({ postData: postDataValues, page: 1 }).trigger('reloadGrid');
        }

        function style_edit_form(form) {
            //enable datepicker on "sdate" field and switches for "stock" field
            form.find('input[name=sdate]').datepicker({ format: 'yyyy-mm-dd', autoclose: true })

            form.find('input[name=stock]').addClass('ace ace-switch ace-switch-5').after('<span class="lbl"></span>');

            //update buttons classes
            var buttons = form.next().find('.EditButton .fm-button');
            buttons.addClass('btn btn-sm').find('[class*="-icon"]').hide();//ui-icon, s-icon
            buttons.eq(0).addClass('btn-primary').prepend('<i class="ace-icon fa fa-check"></i>');
            buttons.eq(1).prepend('<i class="ace-icon fa fa-times"></i>')

            buttons = form.next().find('.navButton a');
            buttons.find('.ui-icon').hide();
            buttons.eq(0).append('<i class="ace-icon fa fa-chevron-left"></i>');
            buttons.eq(1).append('<i class="ace-icon fa fa-chevron-right"></i>');
        }

        function style_delete_form(form) {
            var buttons = form.next().find('.EditButton .fm-button');
            buttons.addClass('btn btn-sm btn-white btn-round').find('[class*="-icon"]').hide();//ui-icon, s-icon
            buttons.eq(0).addClass('btn-danger').prepend('<i class="ace-icon fa fa-trash-o"></i>');
            buttons.eq(1).addClass('btn-default').prepend('<i class="ace-icon fa fa-times"></i>')
        }

        function style_search_filters(form) {
            form.find('.delete-rule').val('X');
            form.find('.add-rule').addClass('btn btn-xs btn-primary');
            form.find('.add-group').addClass('btn btn-xs btn-success');
            form.find('.delete-group').addClass('btn btn-xs btn-danger');
        }
        function style_search_form(form) {
            var dialog = form.closest('.ui-jqdialog');
            var buttons = dialog.find('.EditTable')
            buttons.find('.EditButton a[id*="_reset"]').addClass('btn btn-sm btn-info').find('.ui-icon').attr('class', 'ace-icon fa fa-retweet');
            buttons.find('.EditButton a[id*="_query"]').addClass('btn btn-sm btn-inverse').find('.ui-icon').attr('class', 'ace-icon fa fa-comment-o');
            buttons.find('.EditButton a[id*="_search"]').addClass('btn btn-sm btn-purple').find('.ui-icon').attr('class', 'ace-icon fa fa-search');
        }

        function beforeDeleteCallback(e) {
            var form = $(e[0]);
            if (form.data('styled')) return false;

            form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
            style_delete_form(form);

            form.data('styled', true);
        }

        function beforeEditCallback(e) {
            var form = $(e[0]);
            form.closest('.ui-jqdialog').find('.ui-jqdialog-titlebar').wrapInner('<div class="widget-header" />')
            style_edit_form(form);
        }

        //replace icons with FontAwesome icons like above
        function updatePagerIcons(table) {
            var replacement =
            {
                'ui-icon-seek-first': 'ace-icon fa fa-angle-double-left bigger-140',
                'ui-icon-seek-prev': 'ace-icon fa fa-angle-left bigger-140',
                'ui-icon-seek-next': 'ace-icon fa fa-angle-right bigger-140',
                'ui-icon-seek-end': 'ace-icon fa fa-angle-double-right bigger-140'
            };
            $('.ui-pg-table:not(.navtable) > tbody > tr > .ui-pg-button > .ui-icon').each(function () {
                var icon = $(this);
                var $class = $.trim(icon.attr('class').replace('ui-icon', ''));

                if ($class in replacement) icon.attr('class', 'ui-icon ' + replacement[$class]);
            })
        }

        function updateActionIcons(table) {
            var replacement =
            {
                'ui-ace-icon fa fa-pencil': 'ace-icon fa fa-pencil blue',
                'ui-ace-icon fa fa-trash-o': 'ace-icon fa fa-trash-o red',
                'ui-icon-disk': 'ace-icon fa fa-check green',
                'ui-icon-cancel': 'ace-icon fa fa-times red'
            };
            $(table).find('.ui-pg-div span.ui-icon').each(function () {
                var icon = $(this);
                var $class = $.trim(icon.attr('class').replace('ui-icon', ''));
                if ($class in replacement) icon.attr('class', 'ui-icon ' + replacement[$class]);
            })
        }

        function enableTooltips(table) {
            $('.navtable .ui-pg-button').tooltip({ container: 'body' });
            $(table).find('.ui-pg-div').tooltip({ container: 'body' });
        }

        //var selr = jQuery(grid_selector).jqGrid('getGridParam','selrow');

        $(document).one('ajaxloadstart.page', function (e) {
            $(grid_selector).jqGrid('GridUnload');
            $('.ui-jqdialog').remove();
        });

    });
</script>

....

<button type="submit" class="btn btn-info" id="submitbutton"> 
    Create 
</button>
$("#subitbutton").click(function () {
    var localGridData = $("#grid-table").jqGrid("getGridParam", "data");
    $.ajax({
        url: "someServerMethod",
        type: "POST",
        data: JSON.stringify(localGridData),
        dataType: "json"
    })
});