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

//方法二:还可以根据选定行的行数和表格总行数比较来判断,但方法一的效率更高。同时,方法一也展示了根据选定行隐藏和显示按钮的方法!

最新文章

  1. NET权限系统开源项目
  2. eclipse scons 使用指南
  3. sencha architect/sencha touch , to prevent breakpoint lost when you debug
  4. HW3.18
  5. gdb篇
  6. [转载] PHP 线程,进程和并发
  7. 一个JavaWeb搭建的开源Blog系统,整合SSM框架
  8. webpack入门文档教程
  9. hyperscan在低版本系统应用问题
  10. nRF52832 SDK15.3.0 基于ble_app_uart demo FreeRTOS移植
  11. jpa-规范
  12. 与图论的邂逅01:树的直径&基环树&单调队列
  13. 后台跑包方法 断开ssh程序也能继续执行的方法screen命令
  14. “北航学堂”M2阶段postmortem
  15. fopen的type的值的意思
  16. memcached 一致性hash原理
  17. fPLL结构及动态配置
  18. 火星A+B(hdu1230)进制转化
  19. PHPCMS V9 SQL查询篇
  20. js时钟

热门文章

  1. MySQL的MyISAM与InnoDB的索引方式
  2. vue学习16-插槽的使用
  3. 网络流 HLPP 板子
  4. C++线程基础笔记(一)
  5. CNN-卷积神经网络简单入门(1)
  6. LeetCode.241
  7. 高性能Kafka
  8. Java面试必问之线程池的创建使用、线程池的核心参数、线程池的底层工作原理
  9. Web容器中DefaultServlet详解
  10. CSS 圆角框