Extjs checkbox 多删除

  var BankOrderstore = new Ext.data.JsonStore                        //数据源({url: "../Handler/TxnRefund.ashx",totalProperty: 'ToTalRecord',root: "ResultData",listeners:{beforeload: function () {this.baseParams ={"method": "QUERYCMBCREFUND","BGWTXNID": Ext.getCmp("txtBgwTxnID").getValue(),"STATUS": Ext.getCmp("Refundstatus").getValue(),"STDATE": Ext.getCmp("txtSTDate").getValue("Y-m-d").format("Y-m-d"),"EDDATE": Ext.getCmp("txtEDDate").getValue("Y-m-d").format("Y-m-d"),start: 0,limit: m_pageSize};}},fields: ["BGWTXNID", "APPCODE", "BANKREFNUM", "REFUNDAMOUNT", "NAME", "STATUS", "NOTIFYRESULT", "APPLYDATE", "PROCESSDATE", "RECEIPTDATE", "BANKTXNAMOUNT","REFUNDTXNID"]});var check = new Ext.grid.CheckboxSelectionModel({                  //checkboxsingleSelect:false,         //false为可以多选sortable:true
});var gvResult = new Ext.grid.GridPanel({id: "gvResult",renderTo: "dvBankRefund",title: '<% = GetLocalResourceObject("ResultsText") %>',height: 380,store: BankOrderstore,width: m_pageWidth,stripeRows: true, //斑马线trackMouseOver: true,loadMask: { msg: '<% = GetLocalResourceObject("LoadingText") %>' },frame: true,columns:[new Ext.grid.RowNumberer(), //行号
            check,{ header: '<% = GetLocalResourceObject("BgwTxnIDText") %>', dataIndex: "BGWTXNID", width: 150, sortable: true },{ header: '<% = GetLocalResourceObject("AppCodeText") %>', dataIndex: "APPCODE", width: 100, sortable: true, renderer: ConvertAppCode },{ header: '<% = GetLocalResourceObject("BankRefundText") %>', dataIndex: "BANKREFNUM", width: 180, sortable: true },{ header: '<% = GetLocalResourceObject("RefundAmountText") %>', dataIndex: "REFUNDAMOUNT", width: 80, sortable: true, renderer: function (v) { return v.toFixed(2); } },{ header: '<% = GetLocalResourceObject("RefundStatusText") %>', dataIndex: "STATUS", width: 80, sortable: true, renderer: ConvertStatus },{ header: '<% = GetLocalResourceObject("ApplyDateText") %>', dataIndex: "APPLYDATE", width: 150, sortable: true, renderer: function (v) { return getFormatDate(v, "yyyy-MM-dd HH:mm:ss"); } },{ header: '<% = GetLocalResourceObject("ProcessDateText") %>', dataIndex: "PROCESSDATE", width: 150, sortable: true, renderer: function (v) { return getFormatDate(v, "yyyy-MM-dd HH:mm:ss"); } },{ header: '<% = GetLocalResourceObject("ReceiptDateText") %>', dataIndex: "RECEIPTDATE", width: 120, sortable: true, renderer: function (v) { return getFormatDate(v, "yyyy-MM-dd HH:mm:ss"); } },{ header: '<% = GetLocalResourceObject("BankTxnAmountText") %>', dataIndex: "BANKTXNAMOUNT", width: 100, sortable: true, renderer: function (v) { return v.toFixed(2); } }],bbar: new Ext.PagingToolbar //分页
        ({pageSize: m_pageSize,store: BankOrderstore,displayInfo: true, //非要为true,不然不会显示下面的分页按钮
            items: ['-', { text: "确认退款", iconCls:"recheck", handler: DoRefund_Click }        //就是这个底部按钮调用的]}),ds: BankOrderstore,sm:check,                        //selModel这样checkbox才能选store: BankOrderstore});gvResult.render();                   //呈现//自动判断是否全选并选中或不选中表头的checkbox  Ext.override(Ext.grid.CheckboxSelectionModel, {onMouseDown: function (e, t) {if (e.button === 0 && t.className == 'x-grid3-row-checker') { // Only fire if left-click  
                e.stopEvent();var row = e.getTarget('.x-grid3-row');// mouseHandled flag check for a duplicate selection (handleMouseDown) call  if (!this.mouseHandled && row) {//alert(this.grid.store.getCount());  var gridEl = this.grid.getEl(); //得到表格的EL对象  var hd = gridEl.select('div.x-grid3-hd-checker'); //得到表格头部的全选CheckBox框  var index = row.rowIndex;if (this.isSelected(index)) {this.deselectRow(index);var isChecked = hd.hasClass('x-grid3-hd-checker-on');//判断头部的全选CheckBox框是否选中,如果是,则删除  if (isChecked) {hd.removeClass('x-grid3-hd-checker-on');}} else {this.selectRow(index, true);//判断选中当前行时,是否所有的行都已经选中,如果是,则把头部的全选CheckBox框选中  if (gridEl.select('div.x-grid3-row-selected').elements.length == gridEl.select('div.x-grid3-row').elements.length) {hd.addClass('x-grid3-hd-checker-on');};}}}this.mouseHandled = false;},onHdMouseDown: function (e, t) {/** *大家觉得上面重写的代码应该已经实现了这个功能了,可是又发现下面这行也重写了 *由原来的t.className修改为t.className.split(' ')[0] *为什么呢?这个是我在快速点击头部全选CheckBox时, *操作过程发现,有的时候x-grid3-hd-checker-on这个样式还没有删除或者多一个空格,结果导致下面这个判断不成立 *去全选或者全选不能实现 */if (t.className.split(' ')[0] == 'x-grid3-hd-checker') {e.stopEvent();var hd = Ext.fly(t.parentNode);var isChecked = hd.hasClass('x-grid3-hd-checker-on');if (isChecked) {hd.removeClass('x-grid3-hd-checker-on');this.clearSelections();} else {hd.addClass('x-grid3-hd-checker-on');this.selectAll();}}}});var getBgw = function () {if (gvResult.getSelectionModel().hasSelection()) {var record = gvResult.getSelectionModel().getSelections();var mycars = new Array();for (var i = 0; i < record.length; i++) {mycars[i] = record[i].data.REFUNDTXNID;}return mycars;} else {alert("请选择要操作的记录!");  }}function DoRefund_Click() {var values = getBgw();if (!values) return false;              //判断Ext.MessageBox.confirm("请确认", "是否要删除选中的信息", function (button, text) {if (button == "yes") {Ext.Ajax.request({url: "../Handler/TxnRefund.ashx",method: "post",params: { "method": "DOREFUND", "REFUNDTXNIDS": values },success: function (response, option) {var result = Ext.util.JSON.decode(response.responseText);if (result.Flag == true) {Ext.MessageBox.alert("提示", "删除成功");gvResult.render();} else {Ext.MessageBox.alert("提示", result.RespMessage);}},failure: function () {}});} else {return;}});}

 下面是上面说到的不太成熟的判断是否全选并选中或不选中表头的checkbox

   //自动判断是否全选并选中或不选中表头的checkbox  
//    function autoCheckGridHead() {
//        var hd_checker = gvResult.getEl().select('div.x-grid3-hd-checker');
//        var hd = hd_checker.first();
//        if (hd != null) {
//            if (gvResult.getSelectionModel().getSelections().length !=//                gvResult.getStore().getCount()) {
//                //清空表格头的checkBox    
//                if (hd.hasClass('x-grid3-hd-checker-on')) {
//                    hd.removeClass('x-grid3-hd-checker-on');     //x-grid3-hd-checker-on  
//                    //gvResult.getSelectionModel().clearSelections();  
//                }
//            } else {
//                if (gvResult.getStore().getCount() == 0) { //没有记录的话清空;  
//                    return;
//                }
//                hd.addClass('x-grid3-hd-checker-on');
//                gvResult.getSelectionModel().selectAll();
//            }
//        }//    }

 

转载于:https://www.cnblogs.com/hongdada/archive/2013/01/07/2849220.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汇编学习笔记(二)--数据处理的两个基本问题

1.div 除数 有8位和16位两种&#xff0c;在一个reg或者内存单元中 被除数 默认放在ax或者ax和dx中&#xff0c;如果除数位8位&#xff0c;被除数为16位&#xff0c;默认放在ax中&#xff1b; 如果除数为16位&#xff0c;被除数为32位&#xff0c;在dx和ax中存放&#xff0c;dx存…

oracle对sga统计信息不对,oracle 索引失效原因及解决方法

一、以下的方法会引起索引失效‍1,<>2,单独的>,3,like "%_" 百分号在前.4,表没分析.5,单独引用复合索引里非第一位置的索引列.6,字符型字段为数字时在where条件里不添加引号.7,对索引列进行运算.需要建立函数索引.8,not in ,not exist.9,当变量采用的是time…

python random randint_python中random.randint和random.randrange的区别详解

在python中&#xff0c;通过导入random库&#xff0c;就能使用randint 和 randrange 这两个方法来产生随机整数。那这两个方法的区别在于什么地方呢&#xff1f;让我们一起来看看&#xff01; 区别: randint 产生的随机数区间是包含左右极限的&#xff0c;也就是说左右都是闭区…

How to change max_allowed_packet size

2019独角兽企业重金招聘Python工程师标准>>> How to change max_allowed_packet size up vote 116 down vote favorite 40I am having a problem with BLOB fields in my MySQL database - when uploading files larger than approx 1M…

cmake,make,nmake的用法

于是开始找跨平台的编译工具&#xff0c;其中最有名的两个是 cmake 和 scons&#xff0c;cmake 之所以出名估计是因为 KDE 4 从 autotools 转向用 cmake 来编译。而 scons 则是 lighttpd 原来用的编译工具&#xff0c;它现在也转向 Python 了。cmake 和 python 大概代表了新一代…

CSS中em和px单位的区别(转)

这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章&#xff0c;题目有点吓人&#xff0c;但是确实是现在国内网页制作方面的一些缺陷。我一直也搞不清楚px与em之间的关系和特点&#xff0c;看过以后确实收获很大。平时都是用px来定义字体&#xff0c;所以无法用浏览器字体…

oracle的age datetime,python cx_Oracle插入TIMESTAMP字段后显示格式问题?

目标&#xff1a;A张表内有个 TIMESTAMP 字段&#xff0c;需要读取后插入到B表中&#xff1b;问题&#xff1a;使用 cx_Oracle模块读取该字段时显示为 datetime.datetime(2016, 9, 1, 0, 0, 1, 288000) 样式&#xff1b;使用 executemany 方法插入B表后&#xff0c;再次读取B表…

.net runtime占用cpu_.net 中的StringBuilder和TextWriter区别

最近闲来之余&#xff0c;看了一些开源的类库&#xff0c;看到有些类库喜欢用TextWriter类来记录相关的字符串数据&#xff0c;感到比较好奇&#xff0c;为啥不用StringBuilder类对象。于是在网上搜索了一番&#xff0c;总结了相关笔记。StringBuilder类在 .net 中,字符串作为一…

微信页面弹出窗口,底部不随窗口滑动而滚动

公司是做微信第三方公众平台&#xff0c;有一个购物系统&#xff0c;现在需要将商品页面模仿淘宝的样式&#xff0c;就是点击购物车或购买按钮&#xff0c;会弹出一个窗口&#xff0c;显示sku和数量。本来就是一个做java后台的&#xff0c;前端布局不是很懂&#xff0c;上网搜索…

基本java,jquery异步 的级联下拉列表

第一次写博客&#xff0c;为了就是记录自己的学习历程&#xff0c;做一个整理 业务需求&#xff1a;有两个下拉列表&#xff0c;部门列表和职位列表&#xff0c;实现级联 1:本功能是在strut2框架下完成的&#xff0c;在进入页面时通过action初始化部门下拉列表 前台代码如下&am…

AE中获得datalayer所对应的data的文件路径和文件名

<summary> 获得datalayer所对应的文件路径 </summary> <param name"pDataLayer">图层</param> <param name"pFilePath">文件路径</param> <param name"pFileName">文件名</param> <re…

oracle查询100到200数据,100分数据库查询语句(ORACLE 11g)

100分求一个数据库查询语句(ORACLE 11g)一张表tabl1 如下&#xff1a;epqname createtime endtime设备1 2014.10.01 11:00:00 2014.10.01 13:22:00设备2 2014.10.27 11:00:00 2014.10.…

python向数据库中添加参数_第四篇:python操作数据库时的传参问题

python在操作数据库执行sql的时候我们经常会遇到传参问题&#xff0c;以下是我总结的几种方法&#xff1a; 1、格式化字符串 city beijing cur.execute(“SELECT * FROM %s WHERE city %s”, city) 2、使用字典传递 sql “INSERT INTO user VALUES(%(username)s, %(password…

【GIT】使用Git命令窗口将本地工程提交至远程GitHub

目标&#xff1a; 1.解决的问题是如何通过Git命令窗口将本地工程提交至GitHub。 2.方便园友的同时也方便自己以后解决此类问题。 步骤&#xff1a; 1.首先登陆GitHub网站https://github.com/ 2.新建Repository 3.新建TicketBrushSystem的Repository&#xff0c;其中红框的几处可…

制作vb dll的总结

前段时间&#xff0c;同学接了一个项目&#xff0c;在网页上显示autoCAD的图。在做项目的过程中&#xff0c;遇到一个棘手的问题。在使用vb语言开发的第三方插件中&#xff0c;有一个函数是地址传值的方式传参。想在js中调用该函数&#xff0c;但是&#xff0c;js不支持类似指针…

[ASP,VB] - 利用ASP调用API COM接口实现开关机

来源&#xff1a;http://www.111cn.net/asp/3/35f5b04c0c9f40c9f03a1b56d641ac3f.htm 服务器脚本要控制些开关机命令模式的知都要调用win api接口来实现了&#xff0c;下面我们来看一个asp调用com实例开关机功能吧。ASP通过这个组件调用系统API&#xff0c;然后按照不同的重启和…

导致oracle 控制文件坏,异常断电导致ORACLE控制文件等受到破坏的处理

故障现象&#xff1a;客户某台WINDOWS服务器掉电&#xff0c;ORACLE数据库STARTUP提示控制文件CONTROL01.CTL、CONTROL02.CTL被破坏。一、处理控制文件异常故障方法&#xff1a;直接拷贝CONTROL0一、处理控制文件异常故障二、尝试启动SQL> startup;ORACLE例程已经启动。Tota…

softmax ce loss_手写softmax和cross entropy

import 解释下给定的数据&#xff0c;x假设是fc layer的输出&#xff0c;可以看到这里x是(3,3)的&#xff0c;也就是batch_size3&#xff0c;n_classes3。但是label给出了三个数&#xff0c;取值是0&#xff0c;1&#xff0c;因此这里必须要将label先变成one_hot的形式才能在cr…

ListView中加入Button后,Button的点击事件和ListView的点击事件冲突

1.在ItemView配置的xml文件里的根节点加入属性android:descendantFocusability"blocksDescendants" 2.在要加入事件的控件上加入android:focusable"false

asp.net Session丢失问题

首先了解一下asp.net Session的实现asp.net的Session是基于HttpModule技术做的&#xff0c;HttpModule可以在请求被处理之前&#xff0c;对请求进行状态控制&#xff0c;由于Session本身就是用来做状态维护的&#xff0c;因此用HttpModule做Session是再合适不过了。原因1&#…