5 Appendix A: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Microsoft SQL Server 2008

  • Microsoft SQL Server 2008 R2

  • Microsoft SQL Server 2012

  • Microsoft SQL Server 2014

  • Microsoft SQL Server 2016

  • Microsoft SQL Server 2017

  • Microsoft SQL Server 2019

  • Microsoft SQL Server 2022

  • Microsoft Visual Studio 2010

  • Microsoft Visual Studio 2012

  • Microsoft Visual Studio 2013

  • Microsoft Visual Studio 2015

  • Microsoft Visual Studio 2017

  • Microsoft Visual Studio 2019

  • Microsoft Visual Studio 2022

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 1.6: The following table describes Report Page Layout (RPL) binary stream format versions and which products support each version.

Applicable products

RPL version

  • Microsoft SQL Server 2008 Reporting Services

  • Visual Studio 2010

  • 10.3

  • Microsoft SQL Server 2008 R2 Reporting Services

  • Microsoft SQL Server 2012 Reporting Services

  • Microsoft SQL Server 2014 Reporting Services

  • Microsoft SQL Server 2016 Reporting Services

  • Microsoft SQL Server 2017 Reporting Services

  • Microsoft SQL Server 2019 Reporting Services

  • Microsoft SQL Server 2022 Reporting Services

  • Visual Studio 2010

  • Visual Studio 2012

  • Visual Studio 2013

  • Visual Studio 2015

  • Visual Studio 2017

  • Visual Studio 2019

  • Visual Studio 2022

  • 10.3

  • 10.4

  • 10.5

  • 10.6

<2> Section 2.2.1: RPLStamp value is currently defined as "RPLIF". This value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Microsoft Visual Studio.

<3> Section 2.2.2: Version 0x03 corresponds to SQL Server 2008, and versions 0x04, 0x05, and 0x06 correspond to SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, and SQL Server 2022.

<4> Section 2.2.5.1: An additional byte is written in the stream at the start of the Measurement record. The value of this byte is 0xFF.

<5> Section 2.2.5.2: An additional byte is written in the stream at the start of the Measurement record. The value of this byte is 0xFF.

<6> Section 2.2.10: An additional byte is written in the stream at the start of the Measurement record. The value of this byte is 0xFF.

<7> Section 2.2.11: An additional byte is written in the stream at the start of the Measurement record. The value of this byte is 0xFF.

<8> Section 2.2.13.1: While reading the BodyAreaElement structure, Microsoft ReportViewer controls do not enforce the validation that the number of elements is not greater than the value of the ColumnCount property specified in the SectionProperties record. The ReportViewer Windows Forms control and the ReportViewer ASP.NET web server control ship with Visual Studio.

<9> Section 2.2.13.2: While reading the BodyAreaElement structure, Microsoft ReportViewer controls do not enforce the validation that the number of elements is not greater than the value of the ColumnCount property specified in the Page record. The ReportViewer Windows Forms control and the ReportViewer ASP.NET web server control ship with Visual Studio.

<10> Section 2.2.22: The parent record is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<11> Section 2.2.22: The parent record is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<12> Section 2.2.32: The restriction that Chart, Map, GaugePanel, SubReport, and Tablix records are not part of the PageHeaderElement and PageFooterElement elements is not imposed by the ReportViewer Windows Forms control or ReportViewer ASP.NET web server control that ships with Visual Studio.

<13> Section 2.2.41: The number of coordinates based on shape type is not validated by the ReportViewer Windows Forms control or ReportViewer ASP.NET web server control that ships with Visual Studio.

<14> Section 2.2.57: The value of the Width property is not validated by the ReportViewer Windows Forms control or ReportViewer ASP.NET web server control that ships with Visual Studio.

<15> Section 2.2.59: The Height value is not validated by the ReportViewer Windows Forms control or ReportViewer ASP.NET web server control that ships with Visual Studio.

<16> Section 2.2.59: SharedLayoutRow and UseSharedLayoutRow being set at the same time is not validated by the ReportViewer Windows Forms control or ReportViewer ASP.NET web server control that ships with Visual Studio.

<17> Section 2.2.59: SharedLayoutRow and UseSharedLayoutRow being set at the same time is not validated by the Microsoft RPL Reader.

<18> Section 2.3.9: The ReportViewer Windows Forms control or ReportViewer ASP.NET web server control that ships with Visual Studio does not validate that the ToggleItem property is not used in PageHeader and PageFooter.

<19> Section 2.3.29: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<20> Section 2.3.34: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<21> Section 2.3.35: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<22> Section 2.3.35: In Microsoft implementations, the TypeCode property is not supported for the NonSharedElementProperties record.

<23> Section 2.3.36: In Microsoft implementations, the OriginalValue property is not supported.

<24> Section 2.3.37: The ReportViewer Windows Forms control or ReportViewer ASP.NET web server control that ships with Visual Studio does not validate whether the IsSimple property specifies a RichTextBox with one or multiple TextRun records.

<25> Section 2.3.38: In Microsoft implementations, the ContentOffset property is not supported.

<26> Section 2.3.39: Microsoft implementations use (C/M/G)_UniqueName_PageNumber, where C is used for Chart, M is used for Map, and G is used for Gauge.

<27> Section 2.3.46: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<28> Section 2.3.46: The ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio does not validate the MIMEType.

<29> Section 2.3.47: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<30> Section 2.3.48: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<31> Section 2.3.48: The value of Width, Height, HorizontalResolution, VerticalResolution, and RawFormat being present, all together, is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<32> Section 2.3.49: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<33> Section 2.3.49: The value of Width, Height, HorizontalResolution, VerticalResolution, and RawFormat being present, all together, is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<34> Section 2.3.50: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<35> Section 2.3.50: The value of Width, Height, HorizontalResolution, VerticalResolution, and RawFormat, all together, being present is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<36> Section 2.3.51: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<37> Section 2.3.51: The value of Width, Height, HorizontalResolution, VerticalResolution, and RawFormat, all together, being present is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<38> Section 2.3.52: When a property is part of both shared and nonshared ElementProperties structures, the nonshared property takes precedence over the shared property.

<39> Section 2.3.52: The value of Width, Height, HorizontalResolution, VerticalResolution, and RawFormat, all together, being present is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<40> Section 2.3.62: The BorderStyle value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<41> Section 2.3.63: The BorderStyleLeft value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<42> Section 2.3.64: The value of the BorderStyleRight property is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<43> Section 2.3.65: The BorderStyleTop value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<44> Section 2.3.66: The BorderStyleBottom value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<45> Section 2.3.76: The FontStyle value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<46> Section 2.3.79: The FontWeight value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<47> Section 2.3.81: The TextDecoration value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<48> Section 2.3.82: The TextAlign value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<49> Section 2.3.83: The VerticalAlign value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<50> Section 2.3.84: The Color value is not validated against the rules that are specified in the description of the Color property.

<51> Section 2.3.86: The Direction value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<52> Section 2.3.87: The WritingMode value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<53> Section 2.3.88: The UnicodeBiDi value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<54> Section 2.3.90: The BackgroundColor value is not validated against the rules specified in the description of Color property.

<55> Section 2.3.91: The BackgroundRepeat value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<56> Section 2.3.93: The NumeralVariant value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<57> Section 2.3.94: The Calendar value is not validated against the enumeration by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<58> Section 2.3.95: The ColumnHeaderRows value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<59> Section 2.3.96: The RowHeaderColumns value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<60> Section 2.3.97: The ColsBeforeRowHeader value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<61> Section 2.3.106: The ColumnIndex value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<62> Section 2.3.107: The RowIndex value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<63> Section 2.3.112: The ParagraphNumber value is not validated by the ReportViewer Windows Forms control or the ReportViewer ASP.NET web server control that ships with Visual Studio.

<64> Section 2.3.120: In Microsoft implementations, the ContentTop property is not supported.

<65> Section 2.3.121: In Microsoft implementations, the ContentLeft property is not supported.

<66> Section 2.3.122: In Microsoft implementations, the ContentWidth property is not supported.

<67> Section 2.3.123: In Microsoft implementations, the ContentHeight property is not supported for the TextRun, Paragraph, TablixCorner, TablixColumnHeader, TablixRowHeader, TablixBodyCell parent structures.