Ext1.X的CheckboxSelectionModel默认全选之后不允许编辑的BUG解决方案,ext 的CheckboxSelectionModel在后台默认选中之后,前台就不允许编辑的bug是存在的,因为CheckboxSelectionModel没有Disabled="true"的设置,只能想办法弥补,毕竟不能直接给GridPanel设置Disabled="true"这样的话,整个GridPanel都成灰色的了,显然不能满足用户的需求,不科学的界面如图:

那么怎么样处理这个问题呢。

思路:选中之前进行判断,假如为鼠标点击不进行任何选中操作,但是如果后台默认选中,第一次点击的时候不会触发前台js事件,这就成了一个问题,所有要想办法,让后台数据设置完之后前台在绑定一次全部默认。但问题有来了,经过测试,如果想要第一次触发js拦截事件,必须前台手动点击触发才可生效(奇葩的Ext)。那就在GridPanel点击之前,去实现吧。代码如下(后台设置开关按钮还是没有任何问题的):

function myBeforeRowSelect(SelectionModel, rowIndex, keepExisting, record) {if (event != null && event.keyCode == 0) {return false;}
}
function onSelectAll() {var model = Ext.getCmp("GridPanel1").getSelectionModel();model.selectAll();
}

<Listeners><CellMouseDown Fn="onSelectAll"  />
</Listeners><SelectionModel><ext:CheckboxSelectionModel ID="CheckboxSelectionModel1" runat="server" HideCheckAll="true"><Listeners><BeforeRowSelect Fn="myBeforeRowSelect" /></Listeners></ext:CheckboxSelectionModel>
</SelectionModel>

后台设置CheckboxSelectionModel方法:

// 选中
RowSelectionModel sm = Grid.SelectionModel.Primary as RowSelectionModel;
sm.SelectedRows.Add(new SelectedRow(第几行));
sm.UpdateSelection();// 非选中
RowSelectionModel sm = Grid.SelectionModel.Primary as RowSelectionModel;
sm.DeselectRow(第几行);

over~

本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/4292550.html,如需转载请自行联系原作者

Ext1.X的CheckboxSelectionModel默认全选之后不允许编辑的BUG解决方案相关推荐

  1. element-ui主表格多选后 二级弹框表格默认全选数据

    需求:element ui的主数据列表多选后,点击按钮进入二级弹框后,让二级弹框的所有数据默认全选 二级弹框结构: 网上试了好多方法都未生效,只有用watch监听的方法才行. 注意:这里必须放在thi ...

  2. iphone复制不能全选_IOS默认全选复制的三种方案

    类似于textField,长按就会默认跳出复制的选项,但是默认选中的就是你手指点击的那个文字,想全选的话必须手动选择全选才可以,而最近碰到一个需求就是要点击文字,默认就是选中所有的文字,比如游戏中的邀 ...

  3. 设置ListBox默认全选并读取ListBox选中项目的数量显示于TextBox中

    该功能的实现需要注意一个先后顺序: 1.ListBox绑定数据源. 2.绑定数据源后,ListBox2_DataBound方法的编写,将ListBox设置为默认全选并把ListBox2项目计数值赋值给 ...

  4. vue设置多选框默认勾选_vue中复选框怎么默认全选,至少选择4个才可以点击下一步...

    [1]项目中有这样的需求,要怎么解决呢...默认复选框是全选状态,也可以取消某一个状态,至少选择4个选项才可以点击下一步.这个要怎么实现啊 html: 原料进厂 模块组装 成品 质检 仓储 物流 销售 ...

  5. Ext.grid.GridPanel,CheckboxSelectionModel的全选的问题

    Ext.grid.CheckboxSelectionModel的小问题: 解决方法: //监视Store数据是否变化, 进行一些其它处理; pl_store.on('datachanged', fun ...

  6. extjs grid选择框默认全选_Extjs gridpanel 加入全选列

    我们在用Extjs的gridpanel时,往往会用到选择列,该选择列最好带有全选和取消全选功能. 具体代码如下: var tableCheckboxModel = Ext.create('Ext.se ...

  7. dblclick,默认全选屏蔽

    在做拖动的时候遇到的,如果在拖动对象上双击,或者三连击,就会选中其中内容,此时mousedown,mouseup容易丢失. 为了解决此问题,需要: obj.addEventListener(" ...

  8. element-ui 表格table,动态显示每一列的,重置全选

    先看效果图 html: html: 我是通过v-if="colData[0].istrue",通过勾选框的选中和不选中来控制对应列的istrue的true/false,从而控制每一 ...

  9. 小程序全套购物车(全选,单选,反选,删除,价格计算)

    <!-- 最外层视图pages --> <view class="pages"><view wx:if="{{hasList}}" ...

最新文章

  1. 教程,使用YCSB测试MYSQL数据库,获取千万条测试后的数据
  2. Micro-CMS v1
  3. eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇
  4. 开源HTML5应用开发框架 - iio Engine
  5. 计算机操作系统(1):OS的作用和目标
  6. 三种嵌入式操作系统的分析与比析
  7. kibana下载安装
  8. php curl发送delte,php Curl如何发起POST DELETE GET POST请求
  9. matlab与r语言运算速度,R语言与matlab循环时间对比
  10. 免费2款标注工具实操(内含下载链接)
  11. 六款值得推荐的数据挖掘得力助手
  12. MCP2515收发程序 CAN总线 CAN程序 CAN通信 5K-1M波特率 STM32+MCP2515
  13. 初中计算机期末质量分析,初中信息技术教学感悟随笔
  14. 软考中级软件设计师--11.结构化开发
  15. c语言变量格式化,C语言新手入门之格式化输出和变量类型
  16. Python安装包及初步认知
  17. struct用法(C语言)
  18. foobar2000提取音频
  19. [原创]网上一位叫啊松得网友提供,本人搜集!!
  20. 安卓眼球追踪_一问易答:非三星手机如何实现眼球追踪

热门文章

  1. 一般纳米材料是指尺度为_纳米材料及纳米材料在高分子领域的应用
  2. linux剪贴板复制文件原理,linux剪贴板原理
  3. c语言如何让数组的两个数据调换位置_浅论数据结构
  4. 剖析Linux系统启动过程
  5. maven优化-repositories,dependencyManagement,pluginManagement
  6. Apache负载均衡+Tomcat集群
  7. Oracle的CASE语句和表达式
  8. jzoj_3385_黑魔法师之门
  9. Python 文件写操作
  10. 一个高级的makefile文件