windev中自定义选定列的使用和注意事项
windev系统默认的多选,需要使用Ctrl+或者Shift+来点选,使用并不方便,所以我们一般在首列增加checkbox列,并在行头增加一个checkbox控制,作为全选使用。使用这个方法时,有几个地方需要注意:
1、如何获得已选定行的下标?
(1)首先要打开表格的多选模式,注意一定要打开多选模板,否则..Selecte或者TableSelectPlus都不起作用
(2)通过For遍历,将checkbox为true的行的选定状态设置为true,如下:
FOR EACH ROW n OF TABLE_固定参数 IF TABLE_固定参数.COL_Select = True THEN
TABLE_固定参数[n]..Selected = True
END END
//或者
FOR EACH ROW n OF TABLE_固定参数 IF TABLE_固定参数.COL_Select = True THEN
TableSelectPlus(TABLE_固定参数,n)
END END
3、批量删除时,为什么遍历使用TableDelete不起作用?
TableDelete删除指定下标的行或者当前的选择行,当删除一行时,表格刷新,因减少了一行,所以下标都产生变化。如果一定要在表格层面操作批量删除的话,可结果第1点的多选,使用TableDeleteSelect,一次性删除选择行。如下代码所示:
//以下代码批量删除不生效
FOR EACH ROW n OF TABLE_固定参数
IF TABLE_固定参数.COL_Select = True THEN
TableDelete(TABLE_固定参数)//或者TableDelete(TABLE_固定参数,n)
END END
//需要使用以下代码
FOR EACH ROW n OF TABLE_固定参数
IF TABLE_固定参数.COL_Select = True THEN
TableSelectPlus(TABLE_固定参数,n) //或者 TABLE_固定参数[n]..Selected = True
END
END
TableDeleteSelect(TABLE_固定参数)
4、为什么tablesave,tabledelete等函数都不起作用了?
注意表格绑定的数据是data file(实表)还是Query(虚表)。如果是虚表,则table类的保存、更改或删除都不起作用,需要使用数据层面的函数。通过表格的绑定ID来HReadSeekFirst匹配。
5、全选逻辑如何实现?
(1)全选按钮True时,选定列全选(全部为True),全选按钮为False时,选定列全不选(全部为False)。代码如下:
FOR EACH ROW OF TABLE_固定参数
TABLE_固定参数.COL_Select = MySelf
END
(2)选定列全部True时,全选按钮为True,选定列只要有一行为False,则全选按钮为False。代码如下:
//根据选定按钮,修改隐藏按钮状态
FOR EACH ROW n OF TABLE_固定参数
IF TABLE_固定参数[n].COL_Select THEN
BTN_删除固定参数..Visible = True
BREAK
ELSE
BTN_删除固定参数..Visible = False
END
END //根据选定按钮,修改全选按钮状态
CHECK_固定参数全选 = False
FOR EACH ROW n OF TABLE_固定参数
IF NOT TABLE_固定参数[n].COL_Select THEN
RETURN
END
END
CHECK_固定参数全选 = True
//方法二:还可以根据选定行的行数和表格总行数比较来判断,但方法一的效率更高。同时,方法一也展示了根据选定行隐藏和显示按钮的方法!
windev中自定义选定列的使用和注意事项的更多相关文章
- shiro中自定义realm实现md5散列算法加密的模拟
shiro中自定义realm实现md5散列算法加密的模拟.首先:我这里是做了一下shiro 自定义realm散列模拟,并没有真正链接数据库,因为那样东西就更多了,相信学到shiro的人对连接数据库的一 ...
- JQuery easyUi datagrid 中 自定义editor作为列表操作按钮列
转自 http://blog.csdn.net/tianlincao/article/details/7494467 前言 JQuery easyUi datagrid 中 使用datagrid生 ...
- 1130mysql explain中的type列含义和extra列的含义
很多朋友在用mysql进行调优的时候都肯定会用到explain来看select语句的执行情况,这里简单介绍结果中两个列的含义. 1 type列 官方的说法,说这列表示的是"访问类型" ...
- SharePoint 2013 关于自定义显示列表表单的bug
1.在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示: 2.之后发现文件夹 ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
{"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值"} 对于这个异常可以从两个角度来处理:A:数据库执行语句 B: ...
- 浅析在QtWidget中自定义Model
Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的功能上的分离给了开发人员更大的弹性来定制数据项的表示,它也提供一个标准的model接 ...
- 使用POI读取xlsx文件,包含对excel中自定义时间格式的处理
package poi; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcepti ...
- AngularJS中自定义有关一个表格的Directive
本篇体验在AngularJS中自定义一个有关表格的Directive.表格的需求包括: ● 表格结构 <table> <thead> <tr> ...
- python---基础知识回顾(十)进程和线程(py2中自定义线程池和py3中的线程池使用)
一:自定义线程池的实现 前戏: 在进行自定义线程池前,先了解下Queue队列 队列中可以存放基础数据类型,也可以存放类,对象等特殊数据类型 from queue import Queue class ...
随机推荐
- 聊一聊如何用C#轻松完成一个SAGA分布式事务
背景 银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的 ACID ,只能够通过分布式事务来解决. 市面上使用比较 ...
- 【webpack4.0】---webpack的基本使用(三)
一.webpack-dev-server 1.安装 cnpm install webpack-dev-server -D 2.作用 开启一个web服务,监听文件的变化并自动刷新网页,做到实时预 ...
- linu查看系统用户与显示命令行提示符格式信息
目录 一:查看系统用户whoami 二:显示命令行提示符格式信息变量 一:查看系统用户whoami whoami : 当前窗口登录的用户 who : 当前用户登录系统的终端 作用: 显示当前用户登录了 ...
- kubernetes sticky session 配置
kubernetes中经常需要配置sticky session,此时需要根据你使用的ingress controller来设置了. 1.Nginx Ingress apiVersion: extens ...
- 3 Ways to Learn Whether a Windows Program is 64-bit or 32-bit
More than 90% of Windows 8.1 installations are 64-bit and, as a result, more and more people use 64- ...
- python网络爬虫-入门(一)
前言 1.爬虫程序是Dt(Data Technology,数据技术)收集信息的基础,爬取到目标网站的资料后,就可以分析和建立应用了. 2.python是一个简单.有效的语言,爬虫所需要的获取.存储.整 ...
- 常见线程池 newFixedThreadPool 的简单使用
package com.aaa.threaddemo; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurr ...
- Redis 学习笔记(四)RDB 和 AOF 持久化机制
一.Redis 持久化简介 Redis 的持久化功能是区别于 Memcached 显著特性,数据持久化可以保证系统在发生宕机和重启后数据不会丢失,对于 redis 这种存储在内存中的数据库显得尤为重要 ...
- js源码-数组中的push()和unshift()方法的源码实现
人话不多,直接上代码,在代码中解析,不足之处请谅解: push() Array.prototype._push=function(...value){//在Array原型链上添加_push方法 for ...
- MySql数据存储格式Compact及计算MySql的B+Tree高度
1.MySql的compact行记录格式 MySql从版本5.1以后默认使用的是compact行记录格式.可以通过执行以下命令查询到Row_format知悉InnoDB行记录格式类型. show ta ...