2017-04-20 53 views
2

我正在使用免費的jqgrid 4.14,我需要在我的網格中有一個自定義圖像(某種郵件圖標),當圖像被點擊時,它應該打開一個窗體的模態窗口和其中在表單的消息字段中具有點擊行的數據,並且還具有發送者郵件ID,接收者郵件ID以及主題等其他字段。獲取自定義按鈕點擊行數據

所以,我能夠在我的網格中有一個自定義圖像。現在,我們有onSelectRow屬性,我們可以通過它獲取被點擊的行的id,我們有getRowData它將給出列的數據。

所以,我做了改變onSelectRow有點像這樣

onSelectRow: function(id){ 
      if(id && id!==lastSel){ 
       jQuery(this).restoreRow(lastSel); 
       lastSel=id; 
       var rowId = $(this).getRowData(lastSel); 
      } 
      jQuery(this).editRow(id, true); 
     } 

現在,這會給每一行的數據被點擊時它。但是當我的自定義圖像被點擊時,我將如何獲得相同的功能?

編輯:我需要像這個 -

http://www.ok-soft-gmbh.com/jqGrid/Admin3.htm

但在這裏我不能找到圖像像這裏找到

+0

請片斷創建一個最小的例子,如果你能。 – Iceman

+0

@Iceman請現在檢查 – shv22

回答

0

有實現這個需求很多方面。一個來自我在the answer中描述的最簡單的一個。你可以用formatter: "actions"

{ 
    name: "act", template: "actions", width: 25, 
    formatoptions: { editbutton: false, delbutton: false } 
} 

和jqGrid的選項添加之列,這指定其他自定義按鈕

actionsNavOptions: { 
    mailicon: "fa-envelope-o", 
    custom: [ 
     { 
      action: "mail", 
      position: "first", 
      onClick: function (options) { 
       alert("Mail for rowid=" + options.rowid); 
      } 
     } 
    ] 
} 

https://jsfiddle.net/OlegKi/3tuxg71z/

+0

感謝您的答覆我試過你的解決方案有兩個基本問題,我必須應用這個郵件圖標的列不應該在所有行中只選擇行我怎麼能做到這一點也警報只是來當我們點擊兩次...我們只能在一次點擊時發出警報嗎? – shv22

+0

對於mef a-envelope-o圖像還有一件事是不會來的,不管它是不是自定義圖像,而是像一個向上箭頭圖標 – shv22

+0

@ shv22:測試我的演示https://jsfiddle.net/OlegKi/3tuxg71z /。警報來**每個**點擊郵件圖標。請重新閱讀您的問題。你寫了關於'multiselect:true'的東西嗎?下一步:我爲你創建了演示。如果你有一些問題,你不能解決你自己,你應該修改我的演示,直到你有問題的地方。我必須做我的主要工作,並嘗試在我的主要工作或閒暇時間暫停在計算器上幫助其他人。考慮節省我的時間,並儘可能做最大限度的自己做。 – Oleg