4

I have a Map object with a polygon layer in my report (RDL, SQL-Server 2008R2) with custom color rule ranges. The colors are set with parameters. (hex strings, ex "#FF0000").
It seems though I am unable to use an ARGB value in an expression, a normal RGB color works fine.

A few things I have tested:

<MapCustomColor>=Split(Parameters!segments_color.Value.ToString(),",")(0)</MapCustomColor>

This is my expression as of now. The parameter is a comma seperated list of RGB hex codes. This works fine, but when I change the RGB hex codes to ARGB ones the report renders with the error. Deployment works fine.

The value cannot be NULL.
Parameter name: format

I did some more testing to figure out why it won't work.

<MapCustomColor>="#FF0000"</MapCustomColor>
<MapCustomColor>#FF0000</MapCustomColor>
<MapCustomColor>#88FF0000</MapCustomColor>

These work fine, the last one uses the expected transparency.

<MapCustomColor>="#88FF0000"</MapCustomColor>

This results in the error above.

I also tried using custom code and return a string, but it shows the same behavior.

Is this some sort of bug or am I missing something? Is there any other way to set a ARGB value with an expression/parameter?

Tae-Sung Shin
  • 20,215
  • 33
  • 138
  • 240
elch
  • 255
  • 2
  • 9

1 Answers1

1

The problem is that you're trying to use comma separated color values inside a single color tag. The resulting code should follow this format:

<MapCustomColor>#FF0000</MapCustomColor>
<MapCustomColor>#00FF00</MapCustomColor>
<MapCustomColor>#0000FF</MapCustomColor>
StevenWhite
  • 5,907
  • 3
  • 21
  • 46