如何在内联JQGrid中插入新行?

时间:2015-10-12 11:17:04

标签: asp.net-mvc jquery-ui jqgrid-asp.net jqgrid-formatter mvcjqgrid

查看页面

char selection;
print_menu();
if (cin >> selection)
   finish = perform_operation(selection);
else
   throw std::runtime_error("Bad input!");

控制器:

jQuery("#theGrid").jqGrid({
    url: '/Student/Grid',
    datatype: "json",
    colNames: ['Id', 'Firstname', 'Middlename', 'Lastname', 'Birthdate', 'Birthplace', 'State', 'Nationality', 'Religion', 'Ishandicaped ?', 'Actions'],
    colModel: [
    { key: true, name: 'Id', sortable: true, resize: true, align: "center", hidden: true },
    { key: false, name: 'FirstName', index: 'FirstName', editable: true, align: "center", editrules: { required: true } },
    { key: false, name: 'MiddleName', index: 'MiddleName', editable: true, align: "center", editrules: { required: true } },
    { key: false, name: 'LastName', index: 'LastName', editable: true, align: "center", editrules: { required: true } },
    { key: false, name: 'Birthdate', index: 'Birthdate', editable: true, align: "center", editrules: { required: true }, formatter: 'date', editoptions: { dataInit: function (el) { setTimeout(function () { $(el).datepicker(); }, 200); } } },
    { key: false, name: 'Birthplace', index: 'Birthplace', editable: true, align: "center", editrules: { required: true } },
     { key: false, name: 'State', index: 'State', editable: true, align: "center", edittype: "select", editoptions: { value: "GJ:Gujarat;MH:Maharashtra;DL:Delhi;BNG:Banglore;RJ:Rajasthan" }, editrules: { required: true } },
      { key: false, name: 'Nationality', index: 'Nationality', editable: true, align: "center", editrules: { required: true } },
       { key: false, name: 'Religion', index: 'Religion', editable: true, align: "center", editrules: { required: true } },
        {
            key: false, name: 'IsHandicaped', index: 'IsHandicaped', editable: true, align: "center", edittype: "checkbox", editoptions: { value: "True:False" }
        },
    {
        key: false,
        name: 'Actions',
        index: 'tax',
        width: 80,
        align: "center",
        formatter: 'actions',
        formatoptions: {
            keys: true,
           delOptions: { url: '/Student/Delete' }
        }
    }
    ],
    rowNum: 10,
    rownumbers: true,
    autowidth: true,
    rowList: [5, 10, 20],
    pager: '#gridPager',
    sortname: 'invdate',
    viewrecords: true,
    sortorder: "acc",
    altRows: true,
    delicon: 'glyphicon glyphicon-trash',
    altclass: 'table table-striped',
    jsonReader: {
        repeatitems: false
    },
    editurl: '/Student/Edit',
    mtype:"PUT",
    height: '100%',
    hiddengrid: false






});
jQuery("#theGrid").jqGrid('navGrid', '#gridPager', { "edit": false, "add": false, "del": false, "search": false, view: false });


$("#theGrid").jqGrid('inlineNav', '#gridPager',
{
    add: true,
    addicon: "ui-icon-plus",
    save: true,
    saveicon: "ui-icon-disk",
    cancel: true,
    cancelicon: "ui-icon-cancel",
    "refresh": true,
    "view": true,
    addoptions: {
        url: '/Student/Create'
    },

    addParams: {

         addRowParams: {
             url: '/Student/Create',
             mtype:"POST",
             keys: true,
             oneditfunc: function (rowid) {
                 alert("new row with rowid=" + rowid + " are added.");

             }
         },

        afterSubmit: function (response, postdata) {
    if (response.responseText == "") {
        $(this).jqGrid('setGridParam',
        { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after Add
        return [true, ''];
    } else {
        $(this).jqGrid('setGridParam',
        { datatype: 'json' }).trigger('reloadGrid'); //Reloads the grid after Add
        return [false, response.responseText];
    }
}
     }


 });

当我添加新行内联并单击“保存”时,每次调用控制器的编辑方法时。谁能告诉我如何触发控制器的创建方法在数据库中插入新记录。谢谢。

  

如何调用这个控制器的create方法在数据库中插入新行?

0 个答案:

没有答案