EasyUI的datagrid獲取所有正在編輯狀態的行的行編號


 今天項目需要用了下EasyUI的datagrid的行編輯功能,跟着API來,只要是將各種狀態時的處理邏輯弄好,還是蠻不錯的。

開發過程中,遇到了個問題,在編輯完成后我需要獲取datagrid所有處於編輯狀態的行,進行結束編輯后,獲取編輯行的值。這時的操作,我可以是將datagrid所有的行都取出來,然后循環都進行endEdit操作,這樣確實可以做到。但是考慮到,在datagrid中有可能只有少數的行是編輯狀態的,這樣如果全部循環去關閉,明顯的在做一些無用的操作。

正常的思路,我應該是找到正在編輯的所有行,然后有針對性的關閉。但是EasyUI並沒有提供該方法。也在網上找了下,發現在網上問這個問題的人也是存在,但是並沒找到滿意的答案。所以就自己寫了一個獲取的方法。分享出來,希望對需要的人有所幫助。

/*
*  datagrid 獲取正在編輯狀態的行,使用如下:
*  $('#id').datagrid('getEditingRowIndexs'); //獲取當前datagrid中在編輯狀態的行編號列表
*/
$.extend($.fn.datagrid.methods, {
    getEditingRowIndexs: function(jq) {
        var rows = $.data(jq[0], "datagrid").panel.find('.datagrid-row-editing');
        var indexs = [];
        rows.each(function(i, row) {
            var index = row.sectionRowIndex;
            if (indexs.indexOf(index) == -1) {
                indexs.push(index);
            }
        });
        return indexs;
    }
});

 

 有什么可以優化的點,或者有什么問題歡迎大家提出來。

Author:月夜 @ LTGK
Time: 2016-02-03 周三

 


免責聲明!

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



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