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

本文介绍了一种在datagrid中实现单元格编辑及滚动至指定列的方法,包括判断单元格是否可编辑的功能,并提供了具体的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

//行编辑
$.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的博客,如果有问题,请告诉我,立刻删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值