JQGrid InLine Edit using Grails
<pre><code>$(document).ready(function () {
    jQuery("#task_list").jqGrid({

     height:'240',
     width:'1200',
     caption:'Task List',
     showPager:'true', 
     url:'jq_task_list',
     editurl:'jq_edit_task',
     datatype: "json",
      colNames:['Id','Task Name','Description','Catogery','Start Date','Priority','Start Time','EndTime','Status','Shared','Recuring Task','E-Mail'],
      colModel:[

        {name:'id',width:"20"},//,formatoptions: {disabled : true}, editable: true,edittype:"checkbox"
        {name:'taskName',editable:true,editrules:{required:true},width:"100"},
        {name:'description',editable:true,editrules:{required:true}, width:"100", sortable:true,edittype:"textarea",
          editoptions:{rows:"1",cols:"40"},
          formoptions:{rowpos:2,elmprefix:""}},
        {name:'catogery',width:"70",index:'catogery',editable:true,formatter:'select',editrules:{required:true},edittype:'select',editoptions:{value:{1:'Health',2:'Education',3:'Career',4:'Family &amp; Friends',5:'Finance',6:'Entertaiment'}}},

        {name:'starDate',width:"70",editable:true,
          editoptions:{size:12, dataInit:function(el)
            { 
              $(el).datepicker({dateFormat:'yy-mm-dd'}); },

            defaultValue: function()
            { 
              var currentTime = new Date(); 
              var month = parseInt(currentTime.getMonth() + 1);
              month = month &lt;= 9 ? "0"+month : month; 
              var day = currentTime.getDate(); 
              day = day &lt;= 9 ? "0"+day : day; 
              var year = currentTime.getFullYear(); 
              return year+"-"+month + "-"+day; } }},
{name:'priority',index:'priority',editable:true,width:"70",formatter:'select',editrules:{required:true},edittype:'select',editoptions:{value:{1:'Appointment',2:'Critical',3:'Important',4:'Meeting',5:'Optional',6:'Urgent',7:'None'}}},
        {name:'startTime',formatter:'time',editable:true,editrules:{required:true},width:"70"},
        {name:'endTime',formatter:'time',editable:true,editrules:{required:true},width:"70"},
        {name:'status',index:'status',editable:true,width:"70",formatter:'select',editrules:{required:true},edittype:'select',editoptions:{value:{1:'Not Started',2:'Started',3:'In Progress',4:'Deferred',5:'Skipped',6:'ReScheduled',7:'Complete',8:'Cancelled'}}},
        {name:'shared',width:"30", index:'shared', sortable:true,formatter: "checkbox", formatoptions: {disabled : false}, editable: true,edittype:"checkbox",editoptions: {value: "Yes:No"}},
        {name:'recuringTask', width:"30",index:'recuringTask', sortable:true,formatter: "checkbox", formatoptions: {disabled : false}, editable: true,edittype:"checkbox",editoptions: {value: "Yes:No"}},
         {name:'email',editable:true,editrules:{required:true},width:"130"}

     ],
    rowNum:10,
     rowList:[1,2,3,4,5,6,7,8,9,10],
    pager: jQuery('#task_list_pager'),
    viewrecords: true,
    gridview: true,
    cellEdit:true,
cellsubmit: 'remote',

cellurl:'jq_edit_task'
   }).navGrid('#task_list_pager',
        {add:true,edit:true,del:true,search:false,refresh:true},       // which buttons to show?
        {closeAfterEdit:true,afterSubmit:afterSubmitEvent},
        {addCaption:'Create New Task',afterSubmit:afterSubmitEvent}, // add options
        {}          // delete options
    );



  });
</code></pre>
