ExtJS的grid行編輯插件事件觸發


       本來這個號是為了找工作(記錄自己找工作期間刷代碼的所想所得,重要是假裝自己有一個技術博客...),但是排序算法還沒刷完就找到了工作,所以就懶病繼續發作就沒寫了。現在工作了,真是什么都不懂,為了記錄工作中遇到的問題,必須再把它撿起來。

       最近的項目中要用到ExtJS,因為根本就不懂,所以就給我安排了一個簡單的表格增刪查改的實現,之中遇到了許多問題,慢慢解決吧,現在先說說在一個grid中,當使用了行編輯插件后,點擊保存如何觸發事件。

       如何在view面設置一個監聽、觸發監聽,之后在控制器頁面來處理這個監聽程序,過程如下:對於每一個類,由什么來觸發監聽,可以再ExtJS自帶的api文檔中找到該類的Events項,里面有哪些事件,哪些事件就能觸發監聽。例如Ext.grid.plugin.RowEditing類,有beforeedit、canceledit、edit、validateedit四種事件,那么listener就可以監聽這四種事件,閱讀api文檔可知它們分別監聽什么事件,在view頁面插件配置項下編寫如下代碼:

listeners: {
            edit: {
                fn: 'wobuzhidao',
                scope: 'controller'
            }
        }

  Listeners監聽了edit事件,其處理函數名為wobuzhidao,作用范圍在控制器,控制器代碼如下

wobuzhidao: function (editor, context, eOpts) {
        alert(context.record.get('age'));
    }

       在這個處理函數里,有3個參數,是從view頁面監聽程序的edit傳過來的,通過查閱api文檔我們可以看到這三個參數,並且知道他們分別代表什么。以上代碼實現了在grid里的plugin插件中,對行編輯設置了一個監聽,當編輯保存后會觸發edit事件,通過context參數的.record.get(‘age’)獲取編輯行對應列的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM