2013-04-15 57 views
0

我對JQgrid有問題。使用jqgrid更新記錄後選擇行

這裏是我的網格代碼。 我正在使用clientsoverevents的「beforerowselect」和「loadcomplete」
注意:我使用裝載完成的網格
重新加載它將選擇項目。

<trirand:JQGrid ID="jqgrid" runat="server" Height="475px" Width="1510px" MultiSelect="false" ShrinkToFit="true" AutoWidth="true"> 
<ClientSideEvents BeforeRowSelect="beforeSelect" LoadComplete="loadComplete"/> 


在 「beforeselectevent」 我在這裏做的是得到
的 「itemid的」 的ROWID的cellvalue。

我試着創建一個會話變量來存儲「ItemID」的值 並將其存儲在var sessionItemID中,以便能夠在「加載完成事件」上傳遞它。

問題:但每次我試圖在這裏插入斷點時,它總是給我「價值」。

function beforeSelect(rowid, e) { 
       grid = $("#<%= jqgrid.ClientID %>"); 
       ItemID = grid.jqGrid('getCell', rowid, 'ItemID'); 
       var sessionItemID = '<%=Session["ItemID"] %>'; 
} 


在這裏 「loadcomplete」 事件。我傳遞了sessionItemID,以便我可以獲取ItemID。 所以每次我更新網格上的項目。
它將重新加載頁面並選擇我更新的項目。

問題:重新加載後,重新加載後不會選擇該項目。

function loadComplete(sessionItemID) { 
       if (ItemID != 0 || ItemID != null) { 
        grid = $("#<%= jqgrid.ClientID %>"); 
        grid.trigger("reloadgrid"); 
        grid.jqgrid('setselection', "2"); 
       } 
      } 

我想達到什麼是那麼這(使故事短)
1.對電網選擇行,表格就會彈出更新記錄。
2.更新記錄後,用戶將保存該頁面,然後關閉。
3.網格將重新加載
4.它會記住所選/更新的項目。

我真的很困惑我接下來會做什麼。由於

+0

嘗試保存在一個隱藏字段 – Sharun

+0

我試圖將其存儲在隱藏字段rowid的,但是當我傳遞的值,還是給了我明確的值。即使我將其更改爲該格式,也可以使用 – StackOverflowUser

回答

0

我認爲你必須在你的方法名稱一些拼寫錯誤,

變化grid.jqgrid('setselection', "2");grid.jqGrid('setSelection', "2");

2改變jqgridjqGridsetselectionsetSelection

UPDATE:如果是保留選擇更新後,您可以通過reloadgrid中的current:true實現此目的

在loadComplete刪除代碼並將其添加到aftersaveFunc像下面

    grid = $("#<%= jqgrid.ClientID %>"); 
        grid.trigger("reloadGrid",[{current:true}]); 

給請注意reloadGrid是駝峯(G是大寫)

+0

。畢竟它仍然不會工作。 =) – StackOverflowUser

+0

答案更新 – Kris

+0

是餘波和餘波一樣嗎? 我添加了它在客戶端事件 – StackOverflowUser

0

爲了解決上述問題,你可以嘗試使用的reloadAfterSubmit: false選項表單編輯到阻止重新加載網格st行編輯結束。如果你不添加新的行,這個選項可能是最好的方法。

或者,您可以使用afterSubmit回調或jqGridAddEditAfterSubmit事件來保存當前選擇並在網格文本加載後恢復它。對應的代碼可以瞭解以下信息:

$("#jqgrid").bind("jqGridAddEditAfterSubmit", function() { 
    this.grid.selectionPreserver(this); 
}); 
+0

嗨@oleg,我試圖在我的程序上使用此代碼,它的工作原理。 http://stackoverflow.com/questions/6881717/how-to-highlight-the-last-selected-row-after-client-side-sorting-on-jqgrid – StackOverflowUser

+0

但我想添加一些功能,這是定位滾動條,例如。我有500行,如果我點擊250行,假設滾動條的位置在中間。我也希望它能夠設置所選項目的位置。你能幫助我嗎? – StackOverflowUser

+0

嗨@Oleg你能幫我嗎? http://stackoverflow.com/questions/16142993/getting-the-sum-using-footerdata – StackOverflowUser