Visio ShapeSheet ShapeData:保持两行同步
Visio ShapeSheet ShapeData: keep two rows in sync
我有一个形状的 ShapeSheet 的两个形状数据行:
Shape Data Label Prompt Type Format Value Invisible
Prop.Type "Type" "" 4 "Alpha;Beta;Gamma;Delta;Epsilon;Zeta;Eta;Theta;Iota;Kappa" INDEX(4,Prop.Type.Format) False
Prop.Abbrev "Abbrev" No Formula 4 "A;B;G;D;E;Z;E;T;I;K" INDEX(4,Prop.Abbrev.Format) True
我打算使用它的方式是让用户 select 类型,比如 Epsilon,然后让缩写自动切换到 Prop.Abbrev.Format 中的相应值。
注意:此处使用的值是我的应用程序实际值的占位符,此处未显示,因此它们不会分散我需要的真正答案,即如何将 select 离子保留在选择或更改第一个时同步。
感谢您的帮助!
我这台机器上没有 Visio,所以我无法复制和粘贴有效的解决方案。该方法有点复杂,但非常灵活。
将您的列表保存在 User
部分,而不是 Prop
- 这将成为在属性中使用的基础数据。如果您使用的是主模板,那么这也有助于管理字段。
您现在也可以在数据中存储索引 - 该索引指向数组中的适当值。您可以使用操作和侧边菜单来设置索引,当正确引用时,这意味着您可以在侧边菜单中使用全名 and/or 缩写,而 ShapeSheet 会在下面完成所有工作。
您要查看的功能是:
Index
(例如 INDEX(1,User.Type)
将 return "Beta"。(基于 0)
Lookup
(例如 LOOKUP("D", User.Abbrev)
将 return“3”。(基于 0)
GetAtRef
SetAtRef
SetAtRefExpr
SetF
我有一个类似的业务问题,它依赖于根据形状数据的值设置背景颜色。您的最终解决方案最终可能包含如下公式:=SETF(GetRef(Prop.Type),"GUARD(INDEX(LOOKUP(Prop.X,Prop.X.Format),User.Type))")
.
有关更深入的讨论 - 查看 https://superuser.com/questions/1277331/fillforegnd-in-shapesheet-using-wrong-data and the extended discussion at http://visguy.com/vgforum/index.php?topic=8205.15 - 后者 link 还包括一个带有工作形状表的示例文件(嗯,工作到他们暴露我的问题的程度)。
我有一个形状的 ShapeSheet 的两个形状数据行:
Shape Data Label Prompt Type Format Value Invisible
Prop.Type "Type" "" 4 "Alpha;Beta;Gamma;Delta;Epsilon;Zeta;Eta;Theta;Iota;Kappa" INDEX(4,Prop.Type.Format) False
Prop.Abbrev "Abbrev" No Formula 4 "A;B;G;D;E;Z;E;T;I;K" INDEX(4,Prop.Abbrev.Format) True
我打算使用它的方式是让用户 select 类型,比如 Epsilon,然后让缩写自动切换到 Prop.Abbrev.Format 中的相应值。
注意:此处使用的值是我的应用程序实际值的占位符,此处未显示,因此它们不会分散我需要的真正答案,即如何将 select 离子保留在选择或更改第一个时同步。
感谢您的帮助!
我这台机器上没有 Visio,所以我无法复制和粘贴有效的解决方案。该方法有点复杂,但非常灵活。
将您的列表保存在 User
部分,而不是 Prop
- 这将成为在属性中使用的基础数据。如果您使用的是主模板,那么这也有助于管理字段。
您现在也可以在数据中存储索引 - 该索引指向数组中的适当值。您可以使用操作和侧边菜单来设置索引,当正确引用时,这意味着您可以在侧边菜单中使用全名 and/or 缩写,而 ShapeSheet 会在下面完成所有工作。
您要查看的功能是:
Index
(例如INDEX(1,User.Type)
将 return "Beta"。(基于 0)Lookup
(例如LOOKUP("D", User.Abbrev)
将 return“3”。(基于 0)GetAtRef
SetAtRef
SetAtRefExpr
SetF
我有一个类似的业务问题,它依赖于根据形状数据的值设置背景颜色。您的最终解决方案最终可能包含如下公式:=SETF(GetRef(Prop.Type),"GUARD(INDEX(LOOKUP(Prop.X,Prop.X.Format),User.Type))")
.
有关更深入的讨论 - 查看 https://superuser.com/questions/1277331/fillforegnd-in-shapesheet-using-wrong-data and the extended discussion at http://visguy.com/vgforum/index.php?topic=8205.15 - 后者 link 还包括一个带有工作形状表的示例文件(嗯,工作到他们暴露我的问题的程度)。