我有一列带有数字的列,这些数字确定了工作和后缀:
示例:
|Jobnumber|Suffix|
x001 1 - white
x001 2 - grey
x001 2 - grey
x001 3 - white
x002 1 <---- where it would break the alternating color, Should be grey!
x002 1 - should be grey
x002 1 - should be grey
x002 2 - should be white
x002 2 - should be white
x003 1 - should be grey
我已将报告设置为接受范围Jobnumbers
和范围Suffixes
,因此每个Jobnumber
都有一组按升序排列的后缀。我用不同的Suffix
颜色替换了表达式代码,但是当下一个Jobnumber
和Suffix
在报告中的下一个出现时,它会中断。
当下一组Jobnumbers
和Suffixes
出现在报告中时,如何使行仍按颜色交替显示?
答案 0 :(得分:1)
如果您希望交替的行颜色忽略作业编号和后缀,则将表达式基于ROWNUMBER而不是后缀。
例如void* thread1_entry(void* input)
{
while (!second_ended){}
int ret;
/* This may return error when thread2 has not been created yet*/
ret = pthread_join(thread2, NULL);
printf("hello from 1-%d-%s\n", ret, strerror(ret));
return 0;
}
void* thread2_entry(void* input)
{
printf("hello from 2\n");
printf("exit from 2.....\n");
second_ended = true;
return 0;
}
更新:基于修订的问题
可能会有更优雅的方法,但是以下方法应该可以工作。
要做的第一件事是转到报表属性,并将两个报表变量添加到报表中。添加值为=IIF(ROWNUMBER(Nothing) MOD 2, "LightBlue", Nothing)
的{{1}}和值为AltBackColour
的{{1}}。关闭只读复选框
下一步,单击“代码”选项卡,添加以下功能。
1
最后,将行的LastRownumber
属性设置为以下表达式。
-1
我对您的示例数据进行了此处理,并获得了以下结果。
基本上,代码检查后缀的工作是否已更改,并在1和0之间切换一个标志以指示要使用的颜色。它还会检查我们是否没有像以前一样检查同一行。这样做是因为即使我们设置了行的backcolor属性,但实际上发生的是每个单元格都获得了backcolor属性集,这意味着将为每个单元格调用代码并将继续翻转该标志。通过检查行是否已更改,我们可以解决此问题。