Easyui 1.5.1 datagrid groupview 點擊行展開

默認groupview是點擊前面的加號才展開裏面的行,現在我們要做成點擊行也能展開。

打開 datagrid-groupview.js

找到bindEvents這個方法,接下來進行改造:

    bindEvents: function (target) {
        var state = $.data(target, 'datagrid'); 
        if (state.ss.bindDetailEvents) { return; }
        state.ss.bindDetailEvents = true; 
        var dc = state.dc; 
        var body = dc.body1.add(dc.body2);
        var clickHandler = ($.data(body[0], 'events') || $._data(body[0], 'events')).click[0].handler;
        body.unbind('click').bind('click', function (e) {
            var tt = $(e.target);
            var tr = tt.closest('tr.datagrid-row');
            var rowIndex = parseInt(tr.attr('datagrid-row-index'));
            if (!tr.length) { return }
            if (!tt.hasClass('datagrid-row-expander')) {
                clickHandler(e);
                var html = $(target).datagrid("getPanel"); //Html
                var view = html.find("div[class=\"datagrid-view1\"]"); //Table
                var body = view.find("div[class=\"datagrid-body\"]"); //body
                var tr = $(body[0]).find("tr[datagrid-row-index=\"" + rowIndex + "\"]"); //Tr
                var td = tr.find("td[field=\"_expander\"]");
                tt = td.find("span");
            } 
            if (tt.hasClass('datagrid-row-expand')) {
                $(target).datagrid('expandRow', rowIndex);
            } else {
                $(target).datagrid('collapseRow', rowIndex);
            }
            $(target).datagrid('fixRowHeight');
            e.stopPropagation();
        }); 
       
    },
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章