Oracle Form - 一种全选/全不选功能设计
2022/1/15 19:03:52
本文主要是介绍Oracle Form - 一种全选/全不选功能设计,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 功能设计
- 设计思路
全选/全不选框要实现的是:1、自己被勾选,就将列表全部勾选;2、自己被取消,就将列表全部取消
列表单选框要实现的是:自己被取消,互动取消全选框
- 开发实现
- 列表中的复选框:数据块中增加ITEM,子类信息CHECKBOX,选中时值Y,未选中值N(本例中为DETAILS.SELECTED)
- 全选/全不选框:一个非数据库项,子类信息CHECKBOX,选中时值Y,未选中值N(本例中为CONTROL.SELECT_ALL)
- 增加一个参数ALL_SELECTED,初始值N,用来记录列表是否为全部选中之状态
- CONTROL.SELECT_ALL触发器WHEN-CHECKBOX-CHANGED代码
declare l_cursor_record number; begin if :control.select_all = 'Y' then -- 勾选 if nvl(:parameter.all_selected, 'N') != 'Y' then -- 此时列表的状态不是全部选中 go_block('DETAILS'); -- 遍历每一行,并勾选复选框,最后停在列表一开始定位的行 loop exit when :system.cursor_record = l_cursor_record; l_cursor_record := nvl(l_cursor_record, :system.cursor_record); if :details.po_num is not null then :details.selected := 'Y'; end if; if :system.last_record = 'TRUE' then first_record; else next_record; end if; end loop; -- 记录列表状态为全部选中 :parameter.all_selected := 'Y'; end if; elsif :control.select_all = 'N' then -- 去掉勾选 if :parameter.all_selected = 'Y' then -- 此时列表的状态是全部选中 go_block('DETAILS'); -- 遍历每一行,并取消复选框,最后停在列表一开始定位的行 loop exit when :system.cursor_record = l_cursor_record; l_cursor_record := nvl(l_cursor_record, :system.cursor_record); if :details.po_num is not null then :details.selected := 'N'; :parameter.all_selected := 'N'; end if; if :system.last_record = 'TRUE' then first_record; else next_record; end if; end loop; end if; end if; end;
- DETAILS.SELECTED触发器WHEN-CHECKBOX-CHANGED
if :details.selected = 'N' then -- 被取消选中,记录列表状态为未全选,并联动取消全选复选框 :parameter.all_selected := 'N'; :control.select_all := 'N'; end if;
这篇关于Oracle Form - 一种全选/全不选功能设计的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升