2014-06-14 23 views
1

jqGrid如何確定什麼填充prmNamess'sidx最初(網格首次加載時)?我的網格有5列:jqGrid prmNames sidx

colNames: ['ID', 'Meta Name', 'Meta Value', 'Meta Owner ID', 'Comment'] 

Meta Owner場在我的POST變量發送...

  • $ _ POST [ 'SIDX'] = 'metaownerid + ASC,+'
  • $ _POST

此外爲什麼被包括在sidx的順序時,它也自動地發送sord [ 'SORD'] = '遞增'?以這種方式接收數據並不是一件大事,但可能會改變發送的內容,然後如何在PHP中截斷字符串。我想sidx只包含字段 - 沒有順序。

有沒有一個合乎邏輯的原因,它可以像我缺少的那樣工作?

謝謝。

===編輯=== 1
一些額外的信息...

jQuery('#grid').jqGrid({ 
    url: 'data.php', 
    editurl: "data.php", 
    mtype: 'POST', 
    datatype: 'json', 

    colModel: 
    [ 
     { 
      name: 'metaid', 
      index: 'metaid', 
      editable: true, 
      editoptions: 
      { 
       disabled: true, 
       size: 27 
      }, 
      hidden: false, 
      sorttype: 'int', 
      width: 50 
     }, 

     { 
      name: 'metaname', 
      index: 'metaname', 
      editable: true, 
      sorttype: 'text', 
      editoptions: { size: 27 }, 
     }, 

     { 
      name: 'metavalue', 
      index: 'metavalue', 
      editable: true, 
      editoptions: { size: 27 }, 
      sorttype: 'text' 
     }, 

     { 
      name: 'metaownerid', 
      index: 'metaownerid', 
      editable: true, 
      edittype: 'select', 
      editoptions: 
      { 
       multiple: false, 
       value: '<?php echo $ownerSelectString; ?>' 
      } 
     }, 

     { 
      name: 'comment', 
      index: 'comment', 
      editable: true, 
      editoptions: { size: 27 }, 
      sorttype: 'text' 
     } 
    ], 

    prmNames: 
    { 
     oper: 'action', 
     addoper: 'insert', 
     editoper: 'update', 
     deloper: 'delete' 
    }, 
}); 

我沒有看到我的任何代碼影響POST發送的數據。我沒有任何其他JavaScript,除了一些項目(如選擇菜單)來控制groupingView並在雙擊某行時顯示錶單編輯對話框。

=== EDIT 2 ===
PHP:return print_r($_POST);

...

Array 
(
    [_search] => false 
    [nd] => 1402930981946 
    [rows] => 30 
    [page] => 1 
    [sidx] => metaownerid asc, 
    [sord] => asc 
) 
+0

您應該包含**您使用的jqGrid的JavaScript **代碼。 'sidx'通常不包含'asc'後綴。 – Oleg

+0

@ Oleg,謝謝你的迴應。我沒有明確地改變'sidx'包含的內容。如何更改'sidx'?網格和尋呼機真的很基本。我添加到我的問題的代碼是最全的。 – user1801810

+0

不客氣!人們可以看到'sidx'將會以'metaownerid asc'的值發送,這個值不在你發佈的代碼中。我想你在這裏包含了不完整的代碼。你是否另外指定了'sortname'選項,或者你使用了'groupingView'?你也應該包括代碼。你實現**服務器端**分頁和排序?如果你沒有太多的行(小於10000),那麼你應該考慮使用'loadonce:true'選項並且一次從服務器返回* all *行。 – Oleg

回答

0

groupinggroupView的結合是導致POST變量的罪魁禍首。一旦我探索各種測試那些jqGrid的選擇我到達:

grouping: true, 
groupingView: 
{ 
// groupField: '', 
    groupColumnShow: [true], 
    groupText: ['<b>{0}</b>'], 
    groupCollapse: false, 
// groupOrder: '', 
    groupSummary: [true], 
    groupDataSorted: true 
} 

這些設置導致了更理想的POST變量,一旦我對正在提交什麼,下握什麼情況下,我能夠處理剩餘在PHP中操縱。我現在有基本的服務器端分頁。

可能注意到,我故意將groupFieldgroupOrder留在我的代碼中註釋掉。

感謝您的幫助,@ Oleg。