2013-08-29 27 views
0

我在SSRS 2008中创建了一个简单的报告。我开始复制现有的报告定义并对其进行了修改以适合我的需要。我正在ASP.NET MVC项目的C#中使用Visual Studio Ultimate 2012。矩形中的SSRS图像/ texboxes不显示

我有两个矩形,矩形1和矩形2。 Rectangle1来自原始报告并且显示得很好,我只是重新排列了其中的ReportItems。但是,Rectangle2并未显示在生成的报告上。我在设计师中创建了它,并将现有图像剪切/粘贴到其中。除了外部图像外,Rectangle2还包含一个带有静态值的文本框。

这是我已经试过:

  • 验证了我的数据,获得通过并是正确的。
  • 验证了所有相关的表达式。
  • 验证我要求的图像存在。
  • 删除了收缩/增长参数。
  • 验证没有设置条件显示要求。
  • 创建了一个全新的带有文本框和图像的矩形(不显示)。
  • 比较了Rectangle1和Rectangle2之间的XML。
  • 比较了Rectangle1和 Rectangle2之间的参数值(在设计器中)以及它们的所有子元素。
  • 调整后的Z指数参数。

我在网上找不到任何相关信息。无处不在。纳达。压缩。我没有想法。

请指点我正确的方向。


下面是一些XML:

<Rectangle Name="Rectangle1"> 
    <ReportItems> 
     <Image Name="GHS_1"> 
     <Source>External</Source> 
     <Value>="file:///" + Parameters!AppPath.Value + Parameters!GHSPictograms.Value(0)</Value> 
     <MIMEType>image/png</MIMEType> 
     <Sizing>FitProportional</Sizing> 
     <Top>0.45312in</Top> 
     <Left>0.17958in</Left> 
     <Height>1.56in</Height> 
     <Width>1.56in</Width> 
     <Visibility> 
      <Hidden>=Parameters!GHSPictograms.Value(0) = ""</Hidden> 
     </Visibility> 
     <Style> 
      <Border> 
      <Style>None</Style> 
      </Border> 
     </Style> 
     </Image> 
     <Textbox Name="Textbox1"> 
     <CanGrow>true</CanGrow> 
     <KeepTogether>true</KeepTogether> 
     <Paragraphs> 
      <Paragraph> 
      <TextRuns> 
       <TextRun> 
       <Value xml:space="preserve"> </Value> 
       <Style /> 
       </TextRun> 
      </TextRuns> 
      <Style /> 
      </Paragraph> 
     </Paragraphs> 
     <rd:DefaultName>Textbox1</rd:DefaultName> 
     <Top>2.0521in</Top> 
     <Left>3.91688in</Left> 
     <Height>0.25in</Height> 
     <Width>0.05208in</Width> 
     <ZIndex>4</ZIndex> 
     <Style> 
      <Border> 
      <Style>None</Style> 
      </Border> 
      <PaddingLeft>2pt</PaddingLeft> 
      <PaddingRight>2pt</PaddingRight> 
      <PaddingTop>2pt</PaddingTop> 
      <PaddingBottom>2pt</PaddingBottom> 
     </Style> 
     </Textbox> 
    </ReportItems> 
    <KeepTogether>true</KeepTogether> 
    <Top>0.84944in</Top> 
    <Height>6.84897in</Height> 
    <Width>3.96896in</Width> 
    <ZIndex>2</ZIndex> 
    <Style> 
     <Border> 
     <Style>None</Style> 
     </Border> 
    </Style> 
    </Rectangle> 

...

<Rectangle Name="Rectangle2"> 
    <ReportItems> 
     <Image Name="PPE0"> 
     <Source>External</Source> 
     <Value>="File:///" + Parameters!AppPath.Value + Parameters!PPEImages.Value(0)</Value> 
     <MIMEType>image/png</MIMEType> 
     <Sizing>FitProportional</Sizing> 
     <Top>0.45312in</Top> 
     <Height>1in</Height> 
     <Width>1in</Width> 
     <Visibility> 
      <Hidden>=Parameters!PPEImages.Count &lt; 1</Hidden> 
     </Visibility> 
     <Style> 
      <Border> 
      <Style>None</Style> 
      </Border> 
     </Style> 
     </Image> 
     <Textbox Name="Textbox2"> 
     <KeepTogether>true</KeepTogether> 
     <Paragraphs> 
      <Paragraph> 
      <TextRuns> 
       <TextRun> 
       <Value>PPE</Value> 
       <Style> 
        <FontSize>12pt</FontSize> 
        <FontWeight>Bold</FontWeight> 
       </Style> 
       </TextRun> 
      </TextRuns> 
      <Style /> 
      </Paragraph> 
     </Paragraphs> 
     <rd:DefaultName>Textbox2</rd:DefaultName> 
     <Height>0.33333in</Height> 
     <Width>1in</Width> 
     <ZIndex>5</ZIndex> 
     <Style> 
      <Border> 
      <Style>None</Style> 
      </Border> 
      <PaddingLeft>2pt</PaddingLeft> 
      <PaddingRight>2pt</PaddingRight> 
      <PaddingTop>2pt</PaddingTop> 
      <PaddingBottom>2pt</PaddingBottom> 
     </Style> 
     </Textbox> 
    </ReportItems> 
    <KeepTogether>true</KeepTogether> 
    <Top>0.84944in</Top> 
    <Left>4.0384in</Left> 
    <Height>1.45312in</Height> 
    <Width>5.60125in</Width> 
    <ZIndex>5</ZIndex> 
    <Style> 
     <Border> 
     <Style>None</Style> 
     </Border> 
    </Style> 
    </Rectangle> 

UPDATE:我们设法让Rectangle2显示在Rectangle1的用z-index玩弄周围的代价。所以这是有多个矩形的一个问题...

+0

注:我可以通过将所有内容嵌套在一个大的矩形中来绕过这个问题。 SSRS不喜欢多个矩形作为Body的即时ReportItems。 – kozmi

回答

0

三个事情要考虑:

  1. 你必须使用一个矩形,如果它仅仅是一个单一的文本框?您可能会将它对齐,因为它自己的元素

  2. 文本框是否溢出或具有可能溢出大小的字体?由于对齐,格式化等原因,矩形的第一个问题是显示值。如果您不确定将一些非常小的东西放在框中,然后使矩形很大。对于额外的调试,首先执行步骤1并验证该框将不存在矩形

  3. 如何调试过程?它是在商业智能开发工作室的设计师或其他地方?如果您不是另一个问题,我会在设计人员测试,如果您使用的不是IE以外的其他产品,显示可能会有所不同。另外,如果您使用容器元素以ReportViewer,Form或其他前端代码的形式显示,则它可能会覆盖一些值。

无论如何,这些都是我的想法,因为我有图像和文本之前也没有出现在矩形中。

+0

感谢您的支持。 1. Textbox plus 5 images。整个小组将有条件地展示 - 最终。如果需要的话,我会把矩形拿出来,但我坚持一种固执的假设。 2.没有溢出。我划定了高度和宽度,并可以在设计师中清楚地分辨出来。 3.我在VS端的设计器和xml之间跳转,呈现的报表生成为pdf(下载)。 嗯...... ReportViewer可以重写值。我会研究这个 - 你能指点我一些参考吗? 再次感谢,非常感谢! – kozmi

+0

这真的取决于你的问题。我会检查Visual Studio设计器,或者如果您没有访问SSRS站点并使用可在Web模式下使用的设计器。这些例子几乎是所有的前端将指向一个CSS文件,可能会覆盖观众的基本特征。 – djangojazz