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
//方法二:还可以根据选定行的行数和表格总行数比较来判断,但方法一的效率更高。同时,方法一也展示了根据选定行隐藏和显示按钮的方法!
最新文章
- NET权限系统开源项目
- eclipse scons 使用指南
- sencha architect/sencha touch , to prevent breakpoint lost when you debug
- HW3.18
- gdb篇
- [转载] PHP 线程,进程和并发
- 一个JavaWeb搭建的开源Blog系统,整合SSM框架
- webpack入门文档教程
- hyperscan在低版本系统应用问题
- nRF52832 SDK15.3.0 基于ble_app_uart demo FreeRTOS移植
- jpa-规范
- 与图论的邂逅01:树的直径&;基环树&;单调队列
- 后台跑包方法 断开ssh程序也能继续执行的方法screen命令
- “北航学堂”M2阶段postmortem
- fopen的type的值的意思
- memcached 一致性hash原理
- fPLL结构及动态配置
- 火星A+B(hdu1230)进制转化
- PHPCMS V9 SQL查询篇
- js时钟