easyui 自定义扩展方法 单元格编辑 判断是否可编辑 滚动到某列单元格

来源:互联网 发布:二维码点餐软件 编辑:程序博客网 时间:2024/04/26 11:12

最近项目需要用到的一些方法,有单元格编辑 判断是否可编辑 滚动到某列单元格,有需要的朋友可以拿去参考使用:

//行编辑
$.extend($.fn.datagrid.methods, {
    //编辑单元格
    editCell: function (jq, param) {
        return jq.each(function () {
            //var opts = $(this).datagrid('options');
            //如不可编辑则返回
            if (!$(this).datagrid('IsCellEditable', param.field)) {
                return;
            }
            var fields = $(this).datagrid('getColumnFields', true).concat($(this).datagrid('getColumnFields'));
            for (var i = 0; i < fields.length; i++) {
                var col = $(this).datagrid('getColumnOption', fields[i]);
                col.editor1 = col.editor;
                if (fields[i] != param.field) {
                    col.editor = null;
                }
            }
            $(this).datagrid('beginEdit', param.index);
            for (var i = 0; i < fields.length; i++) {
                var col = $(this).datagrid('getColumnOption', fields[i]);
                col.editor = col.editor1;
            }
        });
    },
    //是否可编辑
    IsCellEditable: function (jq, param) {
        var col = jq.datagrid('getColumnOption', param);
        return col.editor != null && col.editor != undefined;
    },
    //滚动到单元格
    scrollToCell: function (jq, param) {
        return jq.each(function () {
            var body2 = $(this).data('datagrid').dc.body2;

            var fields = $(this).datagrid('getColumnFields', true).concat($(this).datagrid('getColumnFields'));
            var _width = 0;
            var IsStart = false;
            for (var i = 0; i < fields.length; i++) {

                if (fields[i] != param.startfield && IsStart == false) {
                    continue;
                }
                IsStart = true;
                var col = $(this).datagrid('getColumnOption', fields[i]);
                _width += col.width;
                
                if (fields[i] == param.endfield) {
                    break;
                }
            }
            body2.animate({ scrollLeft: _width + 'px' }, 800);
        });
    }
});
使用例子:   

滚动到某个单元格:$('#dg').datagrid('scrollToCell', { index: rowIndex, startfield: 'Status', endfield: 'OfflineDate' });





博客出自:http://blog.sina.com.cn/s/blog_5f2833390102wff0.html

转自大神cactis的博客,如果有问题,请告诉我,立刻删除

0 0
原创粉丝点击