ibm-doors - 按对象后代过滤 RATIONAL DOORS 9.6
问题描述
是否可以设置仅显示每个选定对象后代的过滤器或创建一个新视图来执行此操作?
解决方案
如果“选择”是指用户选择了一个或多个对象(例如,使用 shift-click),然后后代将神奇地出现在每个选定对象下方,而无需任何进一步的用户交互,则答案为“否”。
但是“是的”,您可以编写一个 DXL 脚本,例如将其添加到“用户”菜单中,让用户选择对象并启动菜单条目。该脚本可以创建一个包含所有选定对象的跳过列表,使用类似
Skip sk = create
Object o
Module m = current
for o in m do {
if isSelected o then put (sk, o, o)
}
然后使用您需要和使用的列创建一个新视图accept
并reject
填充视图,例如
for o in entire m do {
if (find (sk, o)) {
accept o
} else {
reject o
}
}
编辑:忘记了后代:-| 因此,在将所有对象从跳过添加到视图之后,您将需要一个递归函数来显示每个显示对象的子对象。大致如下:
void recursive_show_objects(Object o) {
Object o2
for o2 in o do {
accept o2
recursive_show_objects (o2)
}
}
for o in sk do {
recursive_show_objects (o)
}
推荐阅读
- shell - ./install: 功能:未找到 - gpu-blast
- wordpress - 将 Woocommerce Checkout 街道名称和门牌号码合并到地址
- math - 带有自定义范围的 Sigmoid 缩放和反转
- sql - Gcloud SQL Postgres 导入错误:CREATE TABLE ERROR:在“AS”第 2 行或附近出现语法错误:AS 整数 ^ 导入错误:退出状态 3**
- angular - Schematic 输入不针对 Schema: {"name":"testng7"} on Angular 7 进行验证
- python - 如何在python中左连接2个数据帧,如果过滤后第二个数据帧中有多个匹配行,则与第一行连接
- micronaut - Micronaut:安全/会话/身份验证
- php - 在 FormType 中设置 ButtonType id,而不是在树枝文件中?
- android - 重用从 React Native 生成的本机代码来继续构建本机应用程序是一个好主意吗?
- transactions - 使用事务测试 Apache Camel 路由