CheckboxSelectionModel



1.CheckboxSelectionModel简写sm
2.实现sm是否显示
后台传入的json对象包含selected属性

  1. { root:[
  2. { id: '1', code: '1001', name: '老李', sex: '1', age: '23', selected: false},
  3. { id: '2', code: '1002', name: '懒蛋', sex: '1', age: '25', selected: true}
  4. ]}

要实现此功能必须也处理全选问题

  1. var sm = new Ext.grid.CheckboxSelectionModel({
  2. checkOnly: true,
  3. /*
  4. 解决sm全选不选中不显示的sm
  5. */
  6. selectAll : function(){
  7. sm.clearSelections(); //清除全部的选区
  8. var storeLength = sm.grid.store.getCount();
  9. for( var i = 0; i < storeLength; i++){
  10. var record = sm.grid.store.getAt(i);
  11. //获取record中selected的值
  12. var selected = record.data[ 'selected'];
  13. if(!selected){
  14. var id = record.get( 'id');
  15. //传入一个id,根据id查询缓存里的Record,返回其索引
  16. var si = store.indexOfId(id);
  17. sm.selectRow(i, true);
  18. }
  19. }
  20. },
  21. /*
  22. 解决sm是否显示问题
  23. */
  24. renderer: function(v, p, record){
  25. //获取record中selected的值
  26. var selected = record.data[ 'selected'];
  27. if(!selected){
  28. //selected为false时候显示
  29. return '
     
    '
    ;
  30. } else{
  31. //selected为true显示空
  32. return '';
  33. }
  34. }
  35. });

3.sm配置项

  1. var sm = new Ext.grid.CheckboxSelectionModel({
  2. //只允许用户通过复选框执行选中操作
  3. handleMouseDown : Ext.emptyFn,
  4. //true表示只允许选择单行
  5. singleSelect : true
  6. });

你可能感兴趣的:(CheckboxSelectionModel)