我有一个图库,它显示来自集合的信息,我正在尝试使其其中 2 列基于 2 个文本标签有条件格式化。
图库是从空白模板设置的,其中每一行都由文本输入组成,并成功地从集合中提取信息。
画廊名为“Gal_Records” 该集合被命名为“Coll_Records” 它由 4 列 {Name:,Value1:,Value2:,Comment:} 组成 库行中相应的文本输入为 Rec_Name、Rec_Val1、Rec_Val2、Rec_Comment 文本输入通过 Default 属性中的 ThisItem.Name 等从集合中提取信息(没有可用的 Text 属性)。
我希望每个 Rec_Val1 和 Rec_Val2 根据文本标签“Lbl_Upper”和“Lbl_Lower”中的值进行条件格式化(如果值 1 在 Lbl_Upper 和 Lbl_Lower 之间,则填充为绿色,如果不是填充为红色)。
我尝试直接与标签进行比较,并向集合中添加 2 个附加列,以便在图库行中进行比较,但无法进行任何操作。任何帮助将不胜感激。
将 ThisItem 与 Fill 属性中的文本标签进行比较。
如果(并且(
ThisItem.Value1.Default
(我一直在使用正确的 RGBA 代码来表示颜色)。 我也一直在尝试使用 .Text 而不是 .Default 进行相同的操作,但仍然无法正常工作。我也尝试过从上/下文本标签中删除 .Text。
我还尝试使用文本输入值与文本标签进行比较。
如果(并且(
Rec_Val1.Default
*我还尝试通过上述两种变体以以下方式构建不等式。
*
如果(Rec_Val1.默认
您可以在文本输入控件上使用类似于以下的表达式:
If(
And(
Value(Self.Text) < Value(Lbl_Upper.Text),
Value(Self.Text) > Value(Lbl_Lower.Text)),
Color.Green, Color.Red)
请注意,要与
<
或 >
运算符进行比较,您需要有数字,因此您需要使用 Value 函数将文本输入字段和标签中的文本值转换为数字,然后再进行比较。
在与您类似的示例中,这将导致以下输出:
如果用户在文本输入控件中输入的内容不是数字,也可能值得检查错误(或者将其 Format 属性设置为“Number”以防止首先输入非数字值)。