我刚开始使用SQL Server报告服务来创建和编程报告。

立即使我烦恼的一件事:我似乎找不到一种简单的方法来告诉投标(商业智能开发工作室,又名Visual Studio) 公制 对于测量值 - 您知道 - 毫米,厘米等,而不是英寸等。

我试图弄清楚这是否是Visual Studio内部的设置(如果是的话:在哪里?),或者这是否取决于报告服务实例(再次:如果是:如果是这样,则在哪里可以在哪里我改变了???)。

必须有一种改变这个问题的方法!除了美国外,世界上没有人仍在以英寸为数字.....来吧 - 整个世界早已采用了公制系统!不要告诉我微软让我回到黑暗时代.....

有帮助吗?

解决方案

对于SSRS 2008,编辑 Report.rdl 模板在

<Visual_Studio_Install_dir>\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject

并在关闭之前添加以下行 </Report> 标签:

<rd:ReportUnitType>Cm</rd:ReportUnitType>

这将默认所有新报告(由添加新项目 - >选择报告创建)以使用厘米。但是,正如埃德(Ed)所指出的那样,报告向导创建的报告似乎很难编码以使用英寸。

还有其他值得注意的是,无论您放在那儿 Report.rdl 创建新报告时将使用文件,因此您可以设置默认页面大小,字体等...

其他提示

我知道我正在复活一个长的死线,但是对于那些在VS2010中寻找此操作的人,RDL文件位于一个略有不同的位置。

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject\Report.rdl

我在英国,因此发现必须不断从英寸转换为CM以及从“ En-us”到“ engb”非常烦人。我有时会忘记,然后才意识到我的约会专栏说这是第31个月的第七天。为什么在VS中没有可用的选择“ EN-GB”是我的默认场所,而“ CM”是我的默认测量单元完全超出了我。微软提供所有主要语言的软件,并支持多种日历类型,但随后他们会采用这样的内容,似乎他们假设所有使用VS的开发人员均基于美国... </rant>

我修改了我的report.rdl文件,如下所示,该文件解决了该问题,但是如前所述,只有当我不使用向导的情况下。我尚未找到在向导中设置默认值的任何方法。在report.rdl的文件夹中,有一个名为reportwizard.wsz的文件,但看起来它只是包含各种对象的指针。我们可以使用一些东西,但我不会屏住呼吸。

我写的报告中有95%具有A4景观的页面属性,各个方面的0.5厘米边距和没有交互式的大小以及标题顶部的文本框,因此我也将其扔进去。如果要复制或对其进行修改以适应整个report.rdl文件。

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
  <Body>
    <ReportItems>
      <Textbox Name="TextBoxReportTitle">
        <CanGrow>true</CanGrow>
        <KeepTogether>true</KeepTogether>
        <Paragraphs>
          <Paragraph>
            <TextRuns>
              <TextRun>
                <Value>Report Title</Value>
                <Style>
                  <FontSize>20pt</FontSize>
                  <FontWeight>Bold</FontWeight>
                  <Color>SteelBlue</Color>
                </Style>
              </TextRun>
            </TextRuns>
            <Style />
          </Paragraph>
        </Paragraphs>
        <rd:DefaultName>textbox1</rd:DefaultName>
        <Height>0.9cm</Height>
        <Width>28.7cm</Width>
        <DataElementOutput>NoOutput</DataElementOutput>
        <Style>
          <Border>
            <Style>None</Style>
          </Border>
          <PaddingLeft>2pt</PaddingLeft>
          <PaddingRight>2pt</PaddingRight>
          <PaddingTop>2pt</PaddingTop>
          <PaddingBottom>2pt</PaddingBottom>
        </Style>
      </Textbox>
    </ReportItems>
    <Height>5cm</Height>
    <Style />
  </Body>
  <Width>28.7cm</Width>
  <Page>
    <PageHeight>29.7cm</PageHeight>
    <PageWidth>21cm</PageWidth>
    <InteractiveHeight>0cm</InteractiveHeight>
    <InteractiveWidth>0cm</InteractiveWidth>
    <LeftMargin>0.5cm</LeftMargin>
    <RightMargin>0.5cm</RightMargin>
    <TopMargin>0.5cm</TopMargin>
    <BottomMargin>0.5cm</BottomMargin>
    <ColumnSpacing>0.13cm</ColumnSpacing>
    <Style />
  </Page>
  <AutoRefresh>0</AutoRefresh>
  <Language>en-GB</Language>
  <rd:ReportUnitType>Cm</rd:ReportUnitType>
</Report>

如果您定期使用许多默认报告设计,那么制作新模板非常容易。只需用您想要的基本外观和所有设置的所有设置,然后将RDL的副本保存到上方的文件夹中,我删除了RDL的副本 <rd:ReportID> 标签是因为该标签是自动生成的。现在,如果您将新项目添加到项目中,您的新模板将出现在VS中的列表中。

我自己找到了解决方案 - 有点。

创建新报告后,我可以右键单击报告设计表面并选择“报告属性”。在那里,我可以在英寸和厘米之间进行测量。

但是我仍然没有找到告诉报告服务的方法 总是 默认情况下想要公制系统……欢迎其他提示!

我还发现,如果您有现有报告并希望更改这些参数,则可以右键单击报告旁边的空白空间,以查看报告属性并从英寸到CM更改并修改页面尺寸。

使用BIDS 2005(我尚未使用2008版),您可以在设计师理解的任何单元中定义测量值 - 在同一报告中可以接受以定义某些以英寸为单位的测量值,有些则以厘米为单位,有些像素等级等。

如果您查看RDL文件中存储的报告定义(如XML),您会发现该值存储在您提供的单元中(而不是将其转换为引擎盖下的帝国测量值) - 如本示例:

  <InteractiveWidth>8.5in</InteractiveWidth>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>

如果默认报告模板中以英寸为单位的值打扰您,则可以更改它们 - 在SQL 2005中,该模板默认存储在

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject\Report.rdl

对于SQL 2008,此位置可能略有不同。

(请注意,这没有修改报告向导产生的报告。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top