ExtJS 中获取多选行的行信息

ExtJS4获取控件展示的信息---获取grid选中项信息 在表格定义的过程中,添加listensers监听器 阅读详情

以checkbox的形式选择多行,然后点击按钮显示选择行的信息:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <link href="ext-3.4.0/resources/css/ext-all.css" rel="stylesheet" />

    <script type="text/javascript" src="ext-3.4.0/adapter/ext/ext-base.js"></script>

    <script type="text/javascript" src="ext-3.4.0/ext-all.js"></script>

    <script type="text/javascript" src="CheckColumn.js"></script>

    <script type="text/javascript">
        Ext.onReady(function() {
            function formatDate(value) {
                return value ? value.dateFormat('M d, Y') : '';
            }

            // var fm = Ext.form;

            // the column model has information about grid columns
            // dataIndex maps the column to the specific data field in
            // the data store (created below)
            var sm = new Ext.grid.CheckboxSelectionModel();
            var cm = new Ext.grid.ColumnModel([
    new Ext.grid.RowNumberer(),
    sm,
    {
        header: "编号",
        dataIndex: "id",
        editor: {
            xtype: 'textfield',
            allowBlank: false
        }
    }, {
        header: "性别",
        dataIndex: "sex",
        renderer: changeSex,
        editor:
        {
            xtype: 'textfield'
        }
    }, {
        header: "名称",
        dataIndex: "name",
        editor: {
            xtype: 'textfield',
            allowBlank: false
        }
    }, {
        header: "描述",
        dataIndex: "descn",
        width: 140,
        editor: {
            xtype: 'textfield',
            allowBlank: false
        }
    },
    {
        //这里是替代方法,感觉应该有封装好的,但是没有找到。这里用的是actioncolumn组件将icon路径设对就可以显示出来
        menuDisabled: true,
        sortable: false,
        xtype: 'actioncolumn',
        header: 'save',
        width: 50,
        items: [{
            icon: 'ext-3.4.0/resources/images/access/tree/drop-yes.gif',  // Use a URL in the icon config
            tooltip: 'save',
            handler: function(grid, rowIndex, colIndex) {
                var rec = store.getAt(rowIndex);
                Ext.MessageBox.alert('save', 'save successfuly!');
            }
}]
        },
    {
        menuDisabled: true,
        sortable: false,
        xtype: 'actioncolumn',
        header: 'delete',
        width: 50,
        items: [{
            icon: 'ext-3.4.0/resources/images/access/tree/drop-no.gif',  // Use a URL in the icon config
            tooltip: 'delete',
            handler: function() {
                Ext.MessageBox.confirm('delete', 'confirm delete?');
            }
}]
        }


        ]);
            cm.defaultSortable = true;
            function changeSex(value) {
                if (value == 'male') {
                    return "<span style='color:red;font-weight:bold;'>男</span>";
                } else {
                    return "<span style='color:green;font-weight:bold;'>女</span>";
                }
            }


            //JsonData
            var jsondata = {
                'coders': [
        { 'id': '1', 'sex': 'male', 'name': 'McLaughlin', 'descn': 'brett@newInstance.com' },
        { 'id': '2', 'sex': 'male', 'name': 'Hunter', 'descn': 'jason@servlets.com' },
        { 'id': '3', 'sex': 'female', 'name': 'Harold', 'descn': 'elharo@macfaq.com' },
        { 'id': '4', 'sex': 'female', 'name': 'Harolds', 'descn': 'elhaross@macfaq.com' },
        { 'id': '5', 'sex': 'male', 'name': 'Karolds', 'descn': 'lhaross@macfaq.com' },
        { 'id': '6', 'sex': 'female', 'name': 'Yarolds', 'descn': 'elaross@macfaq.com' },
        { 'id': '7', 'sex': 'male', 'name': 'Jarolds', 'descn': 'elharss@macfaq.com' },
        { 'id': '8', 'sex': 'male', 'name': 'Larolds', 'descn': 'elhass@macfaq.com' },
        { 'id': '9', 'sex': 'female', 'name': 'Haroldws', 'descn': 'elhaross@macfaq.com' },
        { 'id': '10', 'sex': 'male', 'name': 'WHarolds', 'descn': 'elhaross@macfaq.com' }
    ],
                'musicians': [
        { 'id': '1', 'name': 'Clapton', 'descn': 'guitar' },
        { 'id': '2', 'name': 'Rachmaninoff', 'descn': 'piano' }
    ]
            };

            // ArrayReader
            var store = new Ext.data.Store({
                proxy: new Ext.data.MemoryProxy(jsondata),
                reader: new Ext.data.JsonReader({ root: 'coders' }, [
        { name: 'id' },
        { name: 'sex' },
        { name: 'name' },
        { name: 'descn' }
    ])

            });
            store.load();
            var tbar = [
                    new Ext.Toolbar.TextItem('Tools bar:'),
                { xtype: "tbfill" }, {
                    pressed: true,
                    text: "Refresh",
                    handler: function() {
                        Ext.Msg.alert("Refresh", "Refresh!")
                    }
                }, {
                    xtype: "tbfill"
                }, {
                    pressed: true,
                    text: "Selection",
                    handler: selectionclick
                }, {
                    xtype: "tbseparator"
                }, {

                    pressed: true,
                    text: "Add",
                    handler: function() { Ext.Msg.alert("Add", "add infro!") }
                }, {
                    xtype: "tbseparator"
                }, {
                    pressed: true,
                    text: "save",
                    handler: function() {
                        Ext.Msg.alert("Save", "save infro successed!!!")
                    }
                }, {
                    xtype: "tbseparator"
                }
                 ];

            // create the editor grid
            var grid = new Ext.grid.EditorGridPanel({
                draggable: true,
                store: store,
                cm: cm,
                sm: sm,
                renderTo: 'editor-grid',
                width: 630,
                height: 330,
                tools: [{ id: "save" }, {
                    id: "help",
                    handler: function() { Ext.Msg.alert("Help", "Need help!") }
                }, {
                    id: "close",
                    handler: function() { grid.hide(); }
}],
                    tbar: tbar,
                    bbar: [
                    //new Ext.Toolbar.TextItem("haha:"),
                {xtype: "tbfill" }, {
                    text: " Reset this grid"
                }
             ],
                    collapsible: true,
                    multiSelect: true,
                    title: 'Edit Plants',
                    frame: true,
                    clicksToEdit: 2,
                    trackMouseOver: true,
                    //viewConfig: {
                    stripeRows: true,
                    enableTextSelection: true
                    // }

                });

                grid.addListener('cellclick', cellclick);
                function cellclick(grid, rowIndex, columnIndex, e) {
                    var record = grid.getStore().getAt(rowIndex);
                    var fieldName = grid.getColumnModel().getDataIndex(columnIndex);
                    var data = record.get(fieldName);
                    Ext.MessageBox.alert('show', '当前选中的数据是' + data);
                }
                function selectionclick() {
                    var arr = grid.getSelectionModel().getSelections();
                    for (var i = 0; i < arr.length; i++) {

                        Ext.Msg.alert("title", arr[i].get("sex"));
                        return;
                    }
                }

            });
    </script>

</head>
<body>
    <div id="hello">
        <div id="editor-grid">
        </div>
    </div>
</body>
</html>


Extjs 4 带checkbox框的下拉多选选框 Extjs 有着丰富的组件,但是在API里面却没有直接写好的checkbox下拉框组件,这个时候对于新手来说可能有点蒙了,但是在好好看看Extjs的API后我们不难发现,我们可以通过自己设计拼装出checkbox下拉框主键(所有组件都一样的,都是在基本组件的基础上拼装而成的)。    我们通过两个组件得到我们想要的checkbox下拉框:    1. Ext.form.field.ComboBox 阅读详情

相关推荐

ExtJS 下拉框多选实现指南

ExtJS是基于JavaScript的一个框架,它用于开发富交互的Web应用程序。该框架具有高度的模块化,允许开发人员创建高性能和跨浏览器的界面,通过拖放组件和丰富的数据管理功能,使得开发复杂、美观的用户界面变得简单快捷。ExtJS框架中的ComboBox组件是一个非常强大的控件,它结合了文本框和下拉列表的功能。用户可以在文本框中输入内容,而ComboBox则会根据输入提供一个过滤后的下拉列表供用户选择。在ExtJS中,ComboBox可以用于数据的检索、显示以及用户输入的管理。

weixin_26850469的博客 1309

extjs 里执行多行选中,和单行选中的操作

//获取选中多行数据 var rows = grid.getSelectionModel().getSelections();// 返回值为Record 数组 //获取选中单行数据 var _rd = grid.selModel.getSelected();//返回值为 一个record结果集   //获取所有编辑过的数据 var modifieds = grid.getStore()

朱智文的专栏 2503

EXTJS实现多选列表组件的完整方案与实战

在现代Web前端开发中,数据的展示与交互是用户界面设计的核心环节之一。EXTJS作为一款功能强大、组件丰富的JavaScript框架,广泛应用于企业级管理系统中,其提供的列表组件()为数据的可视化呈现提供了灵活且高效的解决方案。特别是在需要用户从大量数据中进行多项选择的场景下,EXTJS的多选列表展现出卓越的实用性。// 示例:启用多选的基本配置plugins: {ptype: 'multiselector' // 启用多选插件(示意图)

weixin_35636570的博客 808

ext.ajax 查询功能,extjs实现选择多表自定义查询功能 前台部分(ext源码)_extjs

EditGridPanel主要代码如下:{header:'括号',dataIndex:'leftbrackets',width:40,editor:new Ext.grid.GridEditor(new Ext.form.ComboBox({store: new Ext.data.SimpleStore({fields:['value','text'],data: leftBracketsComb...

weixin_42466868的博客 446

ExtJS下拉框组件多选功能实现指南

Extjs是一个用于开发富互联网应用的JavaScript框架,提供了一整套丰富的组件库,其中Combo下拉框是日常开发中常用的表单元素。在许多场景下,用户需要从一个预定义的列表中选择多个选项。为满足这一需求,Extjs的Combo组件需要进行多选扩展。MultiCombox类是基于Extjs Combo的扩展,它允许用户在下拉列表中选择多个选项。为了构建这样一个类,我们首先要定义类的基础结构。这个类需要具备的基本属性包括:store。

weixin_35756624的博客 807

ExtJS实现多选下拉框的三种代码方案

本章将详细介绍如何在ExtJS框架中实现多选下拉框。我们将从使用内置的ComboBox开始,逐步深入了解其配置选项、数据绑定、事件处理等核心功能,并在之后的章节中探讨更高级的应用和自定义插件开发。// 示例代码:创建一个ExtJS的MultiSelect ComboBoxstore: store, // store定义了下拉选项的数据valueField: 'id', // 数据中的唯一标识符字段displayField: 'name', // 显示给用户的字段。

weixin_35732273的博客 749

Ext:gridPanel 在js中实现获取选中一行/多行的某列值

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34217773的博客 611

ExtJs grid多选时获取选中的所有值

ExtJs grid多选时获取选中的所有值,以及其他相关的操作

【Element UI样式优化】el-table多选行的实现 ==> 批量删除功能 ==> el-table含有不可选中行

ElementUI 提供了多选行table,同时若依框架也提供了成熟的多选表格。本文主要展示批量删除功能,以及多选行有不可选 2.添加selection-change ids用来保存select选中的行id;并使用single和mutiple记录选中情况。 二、实现批量删除功能 只有是multiple时,表示开启多选模式,才可以使用批量删除按钮 2.删除函数撰写 批量删除和行删除公用一个删除函数,通过是否有传参来区分。使用confirm二次确认。并最终调接口实现功能。 三、含有

Sabrina_cc的博客 6304

extjs中的多选列表

extjs中的多选列表,extjs中没有实现多选列表。这是别人作的封装。我找到的。

Skiplist,B,B+tree,LSM tree

SkipList 理解(如何实现): 即使是有序的链表,查找的时间复杂度也是O(n),但链表不能随机访问所以不适用于二分查找,使得查找的时间复杂度为O(logn)。 于是将有序链表和二分查找结合得到了SkipList,类似于二叉搜索树,这是一种以空间换时间的算法,通过在每个节点中增加向前的指针,从而提升查找效率(如下图所示)。 一开始如a所示,是一个有序的链表,时间复杂度O(n)。随后建立了e所示的SkipList,从最顶层往下查找,可以跳过许多元素,减少查找次数。 ​

weixin_45875458的博客 948

Ext中Grid得到选择行数据的方法总结

(1)grid.getStore().getRange(0,store.getCount());    //得到grid所有的行 (2)grid.getSelectionModel().getSelections();        //得到选择所有行    注:如果不声明var sm = new Ext.grid.CheckboxSelectionModel();则会报此句没有该对象或属性Var selectRows = grid.getSelectionModel().getSelections();s

天使的足迹 9002

PointNet/PointNet++模型调参实战:如何用PyTorch让你的点云分割精度再涨5个点?

本文深入探讨了PointNet/PointNet++模型在点云分割中的调参技巧,通过PyTorch实现精度提升5个点的实战方法。重点分析了点云密度自适应策略、感受野与细节保留的平衡,以及训练加速与稳定性技巧,适用于电力巡检、自动驾驶等场景的激光点云数据处理。

weixin_30836759的博客 477

ExtJs 4 get selected Rows and Cells from a Grid panel

1、How to get selected Rows from a Grid panel in ExtJs 4 get reference to grid selection model could be rowModel or cellModel depending on what was defined in the grid definition selType: '...

简单 生活|那家破店 215

微信小程序转化数据API自归因实战:PHP实现与2025升级要点解析

本文详细解析了2025年微信小程序转化数据API自归因的升级要点与PHP实战实现。核心变化包括接口地址更新、固定access_token的获取方式,以及新增timestamp与nonce等安全参数。文章提供了完整的PHP代码示例,帮助开发者高效完成数据上报,优化腾讯广告投放效果。

git9versioner的博客 989

Kafka延迟队列实现方案全解析

$ \text{时间轮} = \text{环形数组} + \text{分层设计} $$需要补充代码实例或特定场景的优化方案可进一步细化,此大纲已覆盖核心技术路径。

lz989796的博客 818

ExtJS4.2 Grid知识点五:多选行(可以点击行选中记录与只能点击多选框选中记录)...

本节主要学习ExtJS4.2 Grid多选行知识,示例图片:在线演示/示例代码 主要内容如下: 可以点击行选中记录与只能点击多选框选中记录 选中Grid中数据加载到Form 获取Grid中多行数据,生成JSON格式 1.可以点击行来选中记录,此时多选Grid只需要配置selType: 'checkboxmodel',此时有一个缺陷,当你通过多选框勾...

weixin_33811539的博客 515

电容式触摸抗干扰设计:工业环境下的实践方案

针对工业环境中电容式touch器件易受干扰的问题,分享实用的硬件布局与软件滤波方案,提升touch响应稳定性和可靠性。

weixin_35755562的博客 845

[ExtJs] Grid 表格行多选

在使用grid表格时,默认可以直接进行多选。如下,可以采用 Ctrl 多选 也可以用 Shift多选 这是因为,grid的配置项selectable默认为true 若是不想为多选模式,可以配置 selectable:{ mode:'single' } 这样就会是单选模式。 不过grid的selectable和infinite配置项有些冲突。 当通过infinite:false。来让grid自动高度时 { xtype:'grid', infinite...

拒绝成猿的程序员 1267

MAX30102心率血氧传感器原理图设计,已量产(e-Health传感器)

在最近的便携健康监测设备项目中,我们采用了集成算法的 MAX30102 心率血氧模块 —— 这类带内置 MCU 算法的传感器能直接输出心率 / 血氧数值,大幅降低了主控资源占用。但硬件电路的稳定性直接决定了 PPG 信号的采集精度,下面结合实际项目里的原理图,拆解下这个模块的设计细节。

不脱发的程序猿 1282

【ARM CoreLink 系列 7 -- TZC-400控制器简介】

为了确保内存能够正确识别总线的信号控制位,新增一个TrustZone地址空间控制器(TrustZone Address Space Controller,TZASC)组件来实现对内存地址的安全扩展,将内存区域划分为安全内存区域和非安全内存区域,安全世界可以访问安全内存和非安全内存,而普通世界只能访问非安全内存,如下图所示:图 1-1内存区域的划分是在系统启动时通过配置 TZASC 组件(TZC-400/TZC-380)来实现的。TZC-400由和使能情况;安全访问权限;Base地址;

CodingCos的博客 1634

EXTJS-GridPanel双击行 事件

EXTJS-GridPanel双击行 事件 标签: function 2011-10-25 15:17 9146人阅读 评论(0) 收藏 举报  分类: EXTJS(3)  版权声明:本文为博主原创文章,未经博主允许不得转载。 [javascript] view plain copy  print? v

evilcry2012的专栏 2703

轮式并联五连杆下肢机器人运动控制:从建模到强化学习仿真训练

本文提出了一种基于强化学习的轮式并联五连杆下肢机器人运动控制方法。首先建立了机器人的运动学和动力学模型,推导了正逆解公式,并构建了URDF模型。随后在PyBullet仿真环境中搭建了包含复杂地形的训练场景,设计了基于PPO算法的端到端控制策略,包含状态空间、动作空间和奖励函数的详细设计。通过多组仿真实验验证了该方法在台阶攀爬等任务中的有效性,为轮腿机器人运动控制提供了完整的可复现技术方案。

huanghm88的专栏 350

Extjs 分页多选的实现

Extjs 版本 6.X 单页面的多选,没有任何问题。 直接使用 Grid的配置项进行绑定即可获取: xtype: 'grid', bind: { selection: '{checkedRecords}' }, 但是如果grid采用分页处理,当我们翻...

510

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

extjs获取多选框_Extjs之多选下拉框(MultiSelect)

扩展js类库,在项目中建立一个 js文件,命名为:xxx.js 其代码为:if ('function' !== typeof RegExp.escape){RegExp.escape = function (s){if ('string' !== typeof s){return s;}return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1')...

weixin_34239718的博客 739

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

extjs获取多选框_extjs下拉框,多选,单选,动态传值

后台java代码@RequestMapping(params = "command=adduser")public void getUser(HttpServletResponse response) throws Exception{JSONObject result1 = new JSONObject();JSONArray rows1 = new JSONArray();String sea...

weixin_35969301的博客 347

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: 在WinXP下安装运行object-c的开发环境
下一篇: sql作业定时执行存储过程
mx5721
博客等级 码龄17年 24粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值