Google
Loading...

Extjs疑难杂症之EditorGridPanel滚动条自动右移

版本:Ext 2.2

症状:使用EditorGridPannel时,只要对列的条目进行增减操作,然后再启用就地编辑。那么在结束编辑状态后,EditorGridPannel的滚动条就会自动向右滚动,将编辑条目所在列定位在EditorGridPannel可视范围的最左边。文字表述不清楚可以看下图。

编辑某行某列数据,EditorGridPannel进入编辑状态。

离开编辑状态后,EditorGridPannel自动向右滚动。

解决办法:

打开ext-all-debug.js,找到EditorGridPannel部分代码,把红色部分代码注释掉,问题解决!

 大家有兴趣也可以修改focusCell函数,让它定位到屏幕中间。

JavaScript代码
  1. // private   
  2.     onEditComplete : function(ed, value, startValue){   
  3.         this.editing = false;   
  4.         this.activeEditor = null;   
  5.         ed.un("specialkey"this.selModel.onEditorKey, this.selModel);   
  6.         var r = ed.record;   
  7.         var field = this.colModel.getDataIndex(ed.col);   
  8.         value = this.postEditValue(value, startValue, r, field);   
  9.         if(String(value) !== String(startValue)){   
  10.             var e = {   
  11.                 grid: this,   
  12.                 record: r,   
  13.                 field: field,   
  14.                 originalValue: startValue,   
  15.                 value: value,   
  16.                 row: ed.row,   
  17.                 column: ed.col,   
  18.                 cancel:false  
  19.             };   
  20.             if(this.fireEvent("validateedit", e) !== false && !e.cancel){   
  21.                 r.set(field, e.value);   
  22.                 delete e.cancel;   
  23.                 this.fireEvent("afteredit", e);   
  24.             }   
  25.         }   
  26.         this.view.focusCell(ed.row, ed.col);   
  27.     },  

 注意,如果是修改ext-all.js,应该修改这里

JavaScript代码
  1. delete g.cancel;this.fireEvent("afteredit",g)}}/*this.view.focusCell(b.row,b.col)*/  

 



[本日志由 GDNPC 于 2009-05-06 10:40 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ext javascript 技术
相关日志:

评论: 0 | 引用: 0 | 查看次数: 1160
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: ?
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 关闭 | [img]标签 关闭