Extjs4---Checkbox,多选,全选

2024-06-01 10:32
文章标签 extjs4 checkbox 多选 全选

本文主要是介绍Extjs4---Checkbox,多选,全选,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为了方便对多条数据进行修改,多选,全选功能是不可少的,本文是在我发表的Extjs4---grid添加搜索功能上进行修改的

html代码:

同Extjs4---grid添加搜索功能上的html代码

只需修改引用即可


gridCheck.js代码:

[javascript]  view plain copy
  1. //下面两行代码必须要,不然会报404错误  
  2. Ext.Loader.setConfig({enabled:true});  
  3. //我的searchGrid和ext4在同一目录下,所以引用时要到根目录去"../"  
  4. Ext.Loader.setPath('Ext.ux','../ext4_example/ext4/examples/ux');  
  5.   
  6. //预加载  
  7. Ext.require(  
  8.         [  
  9.             'Ext.grid.*',  
  10.             'Ext.toolbar.Paging',  
  11.             'Ext.util.*',  
  12.             'Ext.data.*',  
  13.             //注意引用  
  14.             'Ext.ux.form.SearchField',  
  15.             //Checkbox需要引用  
  16.             'Ext.selection.CheckboxModel'   
  17.          ]  
  18.            
  19. );  
  20.   
  21. Ext.onReady(  
  22.         function(){  
  23.             //创建Model  
  24.             Ext.define(  
  25.                     'User',  
  26.                     {  
  27.                         extend:'Ext.data.Model',  
  28.                         fields:[  
  29.                                 {name:'id',mapping:'id'},  
  30.                                 {name:'name',mapping:'name'},  
  31.                                 {name:'sex',mapping:'sex'},  
  32.                                 {name:'age',mapping:'age'}  
  33.                         ]  
  34.                     }  
  35.             )  
  36.             //创建数据源  
  37.             var store = Ext.create(  
  38.                     'Ext.data.Store',  
  39.                     {  
  40.                         model:'User',  
  41.                           
  42.                         //设置分页大小  
  43.                         pageSize:5,  
  44.                         proxy: {  
  45.                             type: 'ajax',  
  46.                             url : 'users',  
  47.                             reader: {  
  48.                                 //数据格式为json  
  49.                                 type: 'json',  
  50.                                 root: 'bugs',  
  51.                                 //获取数据总数  
  52.                                 totalProperty: 'totalCount'  
  53.                             }  
  54.                         },  
  55.                         autoLoad:true  
  56.                     }  
  57.             );  
  58.               
  59.             //创建多选框  
  60.              var checkBox = Ext.create('Ext.selection.CheckboxModel');   
  61.               
  62.             //创建grid  
  63.             var grid = Ext.create('Ext.grid.Panel',{  
  64.                     store:store,  
  65.                     //添加到grid  
  66.                     selModel:checkBox,  
  67.                     disableSelection: false,//表示可以选择行  
  68.                     columnLines: true,   
  69.                     loadMask: true,   
  70.                     columns:[  
  71.                              {text:'编号',width:40,dataIndex:'id',sortable:true},  
  72.                              {text:'姓名',width:120,dataIndex:'name',sortable:true},  
  73.                              {text:'性别',width:120,dataIndex:'sex',sortable:true},  
  74.                              {text:'年龄',width:120,dataIndex:'age',sortable:true}  
  75.                     ],  
  76.                     height:250,   
  77.                     width:480,   
  78.                     x:20,   
  79.                     y:40,   
  80.                     title: 'ExtJS4 Grid分页查询多选示例',   
  81.                     renderTo: 'grid',   
  82.                      
  83.                     dockedItems:[  
  84.                                  //多选框控件  
  85.                                  {  
  86.                                      dock:'top',  
  87.                                      xtype:'toolbar',  
  88.                                      items:[  
  89.                                             {  
  90.                                                 itemId:'Button',  
  91.                                                 text:'显示所选',  
  92.                                                 //tooltip:'Add a new row',  
  93.                                                 //iconCls:'add',  
  94.                                                 handler:function(){  
  95.                                                     var record = grid.getSelectionModel().getSelection();   
  96.                                                     if(record.length==0){  
  97.                                                          Ext.MessageBox.show({   
  98.                                                             title:"提示",   
  99.                                                             msg:"请先选择您要操作的行!"   
  100.                                                             //icon: Ext.MessageBox.INFO   
  101.                                                          })  
  102.                                                         return;  
  103.                                                     }else{  
  104.                                                         var ids = "";   
  105.                                                         for(var i = 0; i < record.length; i++){   
  106.                                                             ids += record[i].get("id")   
  107.                                                             if(i<record.length-1){   
  108.                                                                 ids = ids + ",";   
  109.                                                             }   
  110.                                                         }  
  111.                                                         Ext.MessageBox.show({   
  112.                                                                 title:"所选ID列表",   
  113.                                                                 msg:ids   
  114.                                                             }  
  115.                                                         )  
  116.                                                     }  
  117.                                                 }  
  118.                                             }  
  119.                                      ]  
  120.                                  },  
  121.                                    
  122.                                    
  123.                                  //添加搜索控件  
  124.                                  {  
  125.                                      dock: 'top',   
  126.                                      xtype: 'toolbar',   
  127.                                      items: {   
  128.                                          width: 200,   
  129.                                          fieldLabel: '搜索姓名',   
  130.                                          labelWidth: 70,   
  131.                                          xtype: 'searchfield',   
  132.                                          store: store   
  133.                                     }  
  134.                                  },{   
  135.                                      dock: 'bottom',   
  136.                                      xtype: 'pagingtoolbar',   
  137.                                      store: store,   
  138.                                      displayInfo: true,   
  139.                                      displayMsg: '显示 {0} - {1} 条,共计 {2} 条',   
  140.                                      emptyMsg: '没有数据'   
  141.                                 }  
  142.                     ],  
  143.                 }  
  144.             )  
  145.             store.loadPage(1);   
  146.         }  
  147. )  

Servlet,java后台代码也和 Extjs4---grid添加搜索功能 相同


效果图:


点击“显示所选”

这篇关于Extjs4---Checkbox,多选,全选的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020757

相关文章

漂亮的多选属性控件 画?调出帮助功能

转自:http://www.cocoachina.com/applenews/devnews/2014/0108/7677.html 漂亮的多选属性控件-SAMultisectorControl  SAMultisectorControl可以圆形实现控制多个属性的功能,设计精美。滑动圆形滑块即可方便地调整属性数值范围。SAMultisectorControl使用了CoreGraph

checkbox 复选框 冒泡事件

1.问题描述:点击checkbox 会触发父元素的事件,使用@click.stop无效 解决办法:多加一层div,在div上使用@click.stop 2.小程序的checkbox点击时会冒泡,触发父元素的事件 解决办法:给checkbox绑定一个catchtap,指向空事件,阻止事件冒泡,如:catchtap=“checkEvent”,checkEvent定义一个空事件 3.常见的事件修

关于 CheckBox 你或许不知道的一些知识点

CheckBox 的默认效果是文字在右边,如下所示 但是我们经常是有文字在左边的需求.可以按照下面的方式进行处理 <CheckBox android:text="CheckBox"android:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/checkBox"

RadioGroup,RadioButton CheckBox控件的使用

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     and

TreeView树,全选,反选,平级选操作

首先事件选择,选择的是MouseUp事件。为啥?因为凡是跟Check有关的,在选中父节点或者子节点,都会二次触发。然后发生的就是死循环。 Up事件就可以避免二次触发。Down事件呢?那就触发AfterCheck事件了。事件选好了, 直接上代码。     处理思路:选中/取消当前节点,先选中其所有父节点,再选中其子节点      注意平级节点处理:有平级节点选中,取消时需要遍历父节点。

自定义checkbox,redio等

直接上代码: 看的懂看,看不懂拉到。 .messageState li {list-style: none;float: left;padding-right:30px;font-size: 16px;color: #1e1e1e;-moz-user-select: none;-ms-user-select: none;-webkit-user-select: none;}.messageSt

jQuery学习(五)——使用JQ完成复选框的全选和全不选

1、在系统后台进行人员管理时,进行批量删除,使用jq完成全选和全不选 步骤分析: 第一步:引入jquery文件 第二步:书写页面加载函数 第三步:为上面的复选框绑定单击事件 第四步:将下面所有的复选框的选中状态设置成跟上面的一致! 2、具体代码实现: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charse

关于easyui checkbox 的一些操作处理

1、easyui在每一行加checkbox   { field: 'id', title: '编号', checkbox: true } 2、easyui分页时记住前面已选的checkbox   设置easyui的dField属性   dField: 数据字段,一般为主键或唯一确定的字段 3、获取已勾选的行:   var rows = $('#datagrid').datagrid('

Android CheckBox paddingleft 无效

Android CheckBox paddingleft 无效 标签: androidcheckbox 2015-12-11 16:13  133人阅读  评论(0)  收藏  举报   分类:   Android开发(6)  版权声明:本文为博主原创文章,未经博主允许不得转载。 Android CheckBox 的button在使

根据多选的选择,动态匹配/生成接口里面的数据

最近遇到一个需求,一开始以为接口里面只会返回三个数据,就直接调取接口,页面写三个html结构接口数据放在那里了,后来接口又加了两条,因为前端这边没写结构,就没出来… 所以直接给他改为动态匹配的,不管后续后台这边添加多少条,都能保证数据出来 我的路径:之后看src\views\partner\partner\index.vue 页面为这样的: 根据选中的,去匹配下面的内容显示; 后台分了两