2010-08-25 36 views
0

我有一個主電網並希望顯示來自主表格詳細格列上點擊的結果.. 我無法獲取我的詳細網格中的數據....jqGrid的主電網問題

$(document).ready(function(){ 
     { $("#navmenu-v li").hover( 
        function() { 
         $(this).addClass("iehover"); }, 
        function() { 
         $(this).removeClass("iehover"); 
      }); 

     jQuery("#list10").jqGrid({ 
       sortable:true, 
      url: '/cpsb/json/jsonpageheader.txt', 
      datatype:'json', 
      colNames:['Order','Load', 'Gate Time', 'Stop','Customer','Status'], 
      colModel:[ 
         { 
           name:'orderNumber', 
           index:'orderNumber', 
           width:130, 
           align:"center", 
           sorttype:"int" 

         }, 
         { 
           name:'loadNumber', 
           index:'loadNumber', 
           width:100, align:"center", 
           sorttype:"int" 


         }, 
         { 
           name:'latestTime', 
           index:'latestTime', 
           width:160, 
           align:"center" 

          }, 
         { 
            name:'stopSeq', 
            index:'stopSeq', 
            width:80, 
            align:"center", 
            sorttype:"int" 

         }, 
         { 
            name:'customerNumber', 
            index:'customerNumber', 
            width:100,align:"center", 
            sorttype:"int" 

         }, 
         { 
            name:'orderStatus', 
            index:'orderStatus', 
            width:80, align:"center" 

         } ], 

      rowNum:10, 
      rowList:[10,20,30], 
      jsonReader : {repeatitems: false, 
      root: function(obj) { 
       return obj; 
      }, 
      page: function (obj) { return 1; }, 
      total: function (obj) { return 1; }, 
      records: function (obj) { return obj.length; } 
     }, 
      pager: '#pager10', 
      sortname: 'Gate Time', 
      sortorder: "desc", 
      viewrecords: true, 
      multiselect: true, 
      caption: "Order Header", 


      onSelectRow: function(ids) { 
       if(ids == null) { 
         ids=0; 
         if(jQuery("#list10_d").jqGrid('getGridParam','records') >0) 
          { 
          jQuery("#list10_d").jqGrid('setGridParam',{url:"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails"+ids,page:1}); 
          jQuery("#list10_d").jqGrid('setCaption',"Order Header: "+ids).trigger('reloadGrid'); } 
          } 
          else { 
           jQuery("#list10_d").jqGrid('setGridParam',{url:"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails"+ids,page:1}); 
           jQuery("#list10_d").jqGrid('setCaption',"Order Details: "+ids).trigger('reloadGrid'); 
           } 
         } , 
         height:'100%' 
     }); 
      jQuery("#list10").jqGrid('navGrid','#pager10',{excel:true, add:false,edit:false,del:false,searchtext:"Filter"},{},{},{},{multipleSearch:true}); 
     $("#list10").jqGrid('hideCol', 'cb'); 


     jQuery("#relCasePick").click(function(){ 
      var id = jQuery("#list10").jqGrid('getGridParam','selarrrow'); 
      alert(id); 

       }); 


      jQuery("#list10_d").jqGrid({ 
       height: 100, 
       url:'/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails', 
       datatype: "json", 
       colNames:['Order','SKU', 'UPC', 'Item Description','Quantity Ordered','Teach in Hold?'], 
       colModel:[ {name:'Order',index:'', width:55}, 
         {name:'SKU',index:'sku', width:55}, 
         {name:'UPC',index:'qty', width:40, align:"right"}, 
         {name:'Item Description',index:'unit', width:150, align:"right"}, 
         {name:'Quantity Ordered',index:'quantity', width:150,align:"right", sortable:false, search:false}, 
         {name:'Teach in Hold?',index:'teachInId', width:150, align:"right"}, ], 
       rowNum:5, 
       rowList:[5,10,20], 
       jsonReader : {repeatitems: false, 
        root: function(obj) { 
         return obj; 
        }, 
        page: function (obj) { return 1; }, 
        total: function (obj) { return 1; }, 
        records: function (obj) { return obj.length; } 
       }, 
       pager: '#pager10_d', 
       sortname: 'SKU', 
       viewrecords: true, 
       sortorder: "asc", 
       multiselect: true, 
       caption:"Order Detail" 
      }).navGrid('#pager10_d',{add:false,edit:false,del:false}, {},{},{},{multipleSearch:true}); 
       jQuery("#ms1").click(function() { 
       var s; 
       s = jQuery("#list10_d").jqGrid('getGridParam','selarrrow'); 
       alert(s); }); 
     }}); 

是沒有辦法,我不會拉其他網格數據和,而不是僅僅從1號網格行點擊我會得到的數值爲下電網


是明年電網是電網詳細的方式.. 。基本上做的是從主網格和顯示中獲取訂單號的對應值它的細節....

的第二部分

is there a way that i will not pull the other grid data and instead of that only on row click from 1st grid i will get the values for next grid? 

,而不是從服務器獲取的所有數據我可以拉只能從第一格中選擇該行的數據...的

此外,我有一個按鈕調用釋放案件選擇並點擊該按鈕我已發送選定的行到數據庫....我有一個動作類,但我怎麼發送選定的行。

jQuery("#relCasePick").click(function(){ 
      var id = jQuery("#list10").jqGrid('getGridParam','selarrrow'); 
      alert(id); 

       }); 

我可以做這樣的事情jQuery(("#list10").jqGrid('getGridParam','action class URL')


我能爲將行發送到服務器

jQuery("#relCasePick").click(function(){ 
      var rows= jQuery("#list10").jqGrid('getRowData'); 
       var paras=new Array(); 
       for(var i=0;i<rows.length;i++){ 
        var row=rows[i]; 
        paras.push($.param(row)); 
       } 
       $.ajax({ 
        type: "POST", 
        url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick", 
        data: paras.join('and'), 
        success: function(msg){ 
         alert(msg); 
        } 
       }); 

回答

0

在你當前的代碼做這樣的事情,你的細節網格設置網址像

"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails"+ids 

你想可能有

"/cpsb/unprocessedOrders.do?method=getUnprocessedOrderDetails&someParameter="+ids 

難道你還重新制定你的第二個問題

是沒有辦法,我不會拉 其他網格數據和代替 的方式,只在行點擊從第一個網格我 將獲得下一個網格的值?

你是什麼意思下「獲取下一個網格的值」?下一個網格是細節網格嗎?你想從哪裏獲得價值?關於getRowData方法(請參閱http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods#grid_related_methods),您可以從主網格的選定行獲取完整數據,但您計劃從哪個源獲取詳細網格的數據? 。

+0

jQuery的( 「#relCasePick」)點擊(函數(){ VAR行= jQuery的( 「#list10」)的jqGrid( 'getRowData'); 變種第=新的Array(); 爲(VAR我= 0; I Paul 2010-08-25 16:00:30

+0

是的。類似的東西可以工作。我只會調用'jqGrid('getGridParam','selarrrow')'來獲取僅選中的行的id,而不會調用'jqGrid('getRowData')'而不用第二個參數,從網格獲取所有數據**。此外,如果只需要'orderNumber'中的值,則可以使用'jqGrid('getCell',ids [i],'orderNumber')'而不是'jqGrid('getRowData',ids [i])。orderNumber'。如果'orderNumber'中的值是唯一的,則可以將此列用作id。爲此,在'orderNumber'列的列定義中插入'key:true'。然後's​​elarrrow'中的ids將是您需要的值 – Oleg 2010-08-25 16:17:34

+0

如何打包您要發送給服務器的數據,您應該自行決定。一般來說,如果'ids'是你想要發送的ID數組,那麼'JSON.stringify'將是數據的JSON格式化字符串。你可以使用'.ajax({type:「POST」,url:someUrl,data:JSON.stringify(ids),dataType:「json」,success:function(msg){alert(msg);}}); '發送數據。如果需要將'data:JSON.stringify(ids)'更改爲'data:{myParam:JSON.stringify(ids)}'這樣的東西,則取決於您使用的服務器組件。然後您將能夠從'myParam'輸入參數獲取輸入數據。 – Oleg 2010-08-25 16:26:34