设置jqgrid中单元格的值不起作用

时间:2015-06-05 13:10:42

标签: javascript jquery jquery-plugins jqgrid

我正在使用spring MVC应用程序。我也在为jquery使用JQGrid插件。我是第一次使用Jquery和JQGrid。

我能够在jqgrid中成功加载数据,但是在加载数据之后我想在jqGrid中更改名为“hasApprovedByCorporate”的列的值。我还能够显示上述列中的数据警报信息也是如此。

下面是jquery函数,它负责在jqgrid中加载数据,并为你提供代码中添加的所有css和java脚本文件的snipet(对于jquery版本引用)。

   <script src="<%=request.getContextPath() %>/js/jquery/jquery-ui-1.7.3.custom.min.js" type="text/javascript" ></script>
    <script src="<%=request.getContextPath() %>/js/jquery/jquery-ui.js" type="text/javascript" ></script>             
    <script src="<%=request.getContextPath() %>/js/jquery/grid.locale-en.js" type="text/javascript"></script> 
    <script src="<%=request.getContextPath() %>/js/jquery/jquery.jqGrid.min.js" type="text/javascript"></script> 
    <script src="<%=request.getContextPath() %>/js/jquery/jquery.layout.js" type="text/javascript"></script> 
    <%--<script src="<%=request.getContextPath() %>/js/jquery/jquery.contextmenu.js" type="text/javascript"></script> --%> 
    <script src="<%=request.getContextPath() %>/js/jquery/jquery.tablednd.js" type="text/javascript"></script> 
    <script src="<%=request.getContextPath() %>/js/jquery/ui.multiselect.js" type="text/javascript"></script>
    <script src="<%=request.getContextPath() %>/js/jquery/jquery.simplemodal.js" type="text/javascript" ></script>
  <link href="<%=request.getContextPath() %>/css/jquery-ui-1.8.1.custom.css" type="text/css" rel="stylesheet" /> 
    <link href="<%=request.getContextPath() %>/css/ui.jqgrid.preview.css" type="text/css" rel="stylesheet" /> 
    <link href="<%=request.getContextPath() %>/css/ui.multiselect.css" type="text/css" rel="stylesheet" /> 
    <link href="<%=request.getContextPath() %>/css/jquery.loadmask.css" type="text/css" rel="stylesheet" /> 


<script type=text/javascript>var jq = jQuery.noConflict();</script>
<script  type="text/javascript">


 jQuery(document).ready(function(){
        loadMediaRequestDetails();
    });
 //function called when the this page gets loaded
 function loadMediaRequestDetails() {
     jq("#grid").jqGrid({       
     url:'/loadworkflowqueuedata.cvr?soeId=<%=request.getParameter("soeId")%>',   
     datatype: 'json',    
     mtype: 'GET', 
     colNames:[ 'RequestId','RequestorName','Corporate Affairs','Legal','Current Status','Request Type','Request Date','Event/Interview Date','Region'],       
     colModel:[
      {name:'requestId',index:'requestId',sortable: true,sorttype: 'number', width:100,editable:false,key:true, editrules:{required:true}, editoptions:{size:10},formatter:showMediaDetailLink},
      {name:'requestor',index:'requestor',sortable: true, width:100,editable:false, editrules:{required:true}, editoptions:{size:10}},
      {name:'hasApprovedByCorporate',search:false, width:100,editable:false, editrules:{required:true}, editoptions:{size:10}},
      {name:'hasApprovedByRschMgmt',search:false,width:100,editable:false, editrules:{required:true}, editoptions:{size:10}},
      {name:'requestStatus', index:'requestStatus',sortable: true,width:100,editable:false, editrules:{required:true}, editoptions:{size:10}},
      {name:'requestType', index:'requestType',sortable: true,width:100,editable:false, editrules:{required:true}, editoptions:{size:10}},
      {name:'createDate',index:'createDate',search:false,sortable: true,sorttype: 'date',width:100,editable:false, editrules:{required:true}, editoptions:{size:10},formatter: 'date', formatoptions: { srcformat: 'd/m/Y', newformat: 'd/m/Y'}},
      {name:'eventDate',index:'eventDate',sortable: true,sorttype: 'date',search:false,width:100,editable:false, editrules:{required:true}, editoptions:{size:10},formatter: 'date', formatoptions: {srcformat: 'd/m/Y',newformat: 'd/m/Y'},searchoptions:{dataInit:datePick,searchOnEnter:false}},
      {name:'requestorRegion',index:'requestorRegion',sortable: true, width:100,editable:false, editrules:{required:true}, editoptions:{size:10}}
      ],
       postData: {     
       },    
       height: 'auto',       
       autowidth: true,    
       rownumbers: true,       
       pager: '#pager',       
       viewrecords: true,       
       sortorder: "asc",       
       emptyrecords: "Empty records",      
       loadonce: true,
       rowNum:10,
       loadComplete: function() {

          alert("complete function called1234");

          var rows= jQuery("#grid").jqGrid('getRowData');
          alert(rows.length);
          for(var i=0;i<rows.length;i++){
                var row=rows[i];
               alert(row['hasApprovedByCorporate']);//get the user_id column value
               if(row['hasApprovedByCorporate']=='true'){
                   alert("Corporate Affairs is true");
                   row['hasApprovedByCorporate']='Y';
               }
                  }

        },

       jsonReader : {    
           root: "rows",           
           repeatitems: false,
           page:"page",           
           total: "total",           
           records: "records", 
           cell: "cell",           
           id: "id"      
           }   
       });

     jQuery("#grid").jqGrid('navGrid','#pager',{edit:false,add:false,del:false,search: false,refresh:false});
     jQuery("#grid").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn",ignoreCase: true });

    };
</script>

我必须按照简单的algoritham来改变单元格的值

if (value of cell=='true'){
   value of cell='Y'
  set the new value back to jqgrid appropriate [row][column]
}
else{
    value of cell='N';
  set the new value back to jqgrid appropriate [row][column]
}

我的问题出现了:

1. 但我不知道如何使用条件设置新值并将其显示回网格。

请帮我解决这个问题。我已经浏览了几个链接,但它们都不适合我

0 个答案:

没有答案