2012-11-12 108 views
0

我必須將jqgrid放置在不同的位置,而不是默認的左上角位置。我試過了一些東西,但它不起作用。我已經包含在這裏我的代碼.. PLZ檢查,並給我一個解決方案..需要更改jqgrid的位置

這是HTML代碼:

<div> 
    <table id="table" style="border-spacing: 7px 7px; margin-left: 5px"> 
     <tr> 
      <td> 
       <input style="margin-left: 10px;" type="button" value="Add" id="btn_addusers" /> 
      </td> 
     </tr> 
    </table> 
    <table id="users_grid" style="left: 300px"> 
    </table> 
</div> 

這是我的js代碼:

$(document).ready(function() { 
    $("#btn_addusers").click(function() { 
     $("#users_grid").clearGridData(true).trigger("reloadGrid"); 
     $("#users_grid").jqGrid({ 
      datatype: "local", 
      height: 'auto', 
      width: 'auto', 
      colNames: ['User ID', 'User Name'], 
      colModel: [ 
     { name: 'userid', width: 60 }, 
     { name: 'username', width: 120 } 

    ], 

      caption: "Users in Private space" 
     }); 
     var mydata = [ 
     { userid: "312171", username: "D, Gnana Xavier" }, 
     { userid: "311763", username: "Sangeetha" }, 
     { userid: "312185", username: "Amrutha" }, 
     { userid: "312186", username: "Ramesh" } 
     ]; 
     for (var i = 0; i <= mydata.length; i++) 
      $("#users_grid").jqGrid('addRowData', i + 1, mydata[i]); 

    }); 
}); 
+1

我不建議你使用'addRowData'。這是填補電網最慢的方法。而不是你應該在*創建網格之前移動'mydata'數組*的定義,並且在jqGrid選項中添加'data:mydata'和'gridview:true'。此外,我建議你將'id'屬性添加到'mydata'的每個項目。 'id'屬性將被用作網格的''元素(行)的'id'。 – Oleg

+0

@Oleg感謝您的建議..這真的是一個有用的信息..將來會避免.. – Xavier

+0

不客氣! – Oleg

回答

3

的jqGrid創造了許多額外的 div表格元素。因此,您應該將<table>元素放置在<div>的內部,並且您可以使用外部div的樣式來更改表格的位置。例如

<div style="margin-left: 300px"> 
    <table id="users_grid"></table> 
</div> 
+0

這很好。謝謝你.. :) – Xavier

+0

@Xavier:不客氣! – Oleg

+0

我需要另一個與jqgrid相關的幫助..你能否請檢查一下http://stackoverflow.com/questions/13411956/add-new-row-to-a-jqgrid – Xavier

3

好像@aristos建議。我正在試着解釋我的答案。
用戶位置=相對在div如下

<div style="position:relative;"> 
    <table id="table" style="border-spacing: 7px 7px; margin-left: 5px"> 
     <tr> 
      <td> 
      <input style="margin-left: 10px;" type="button" value="Add" id="btn_addusers" /> 
      </td> 
     </tr> 
    </table> 
    <table id="users_grid" style="left: 300px;position:absolute!important;"> 
    </table> 
</div> 

注意

如果父容器的位置是相對的位置:相對於
和內容的現在的位置是絕對那麼它可以在容器中移動。
現在您可以使用頂部 attribut移動表。
但它不會超出div。

+0

感謝您的時間..我得到了我的答案來自oleg .. – Xavier

+3

@ShekharKumar:您的建議將適用於常見的'

'元素,但jqGrid *修改*並將'
'作爲另一個具有'position:relative;'的外部div的子元素。因此,使用'position:absolute'將會導致表格的內容(主體)根本看不到。所以你的建議在jqGrid的使用上下文中不起作用。 – Oleg