这里的XML打印描述文件都是由VS2005reportdesigner设计器设计生成的,它描述的是我们手动设计报表的纸张大小信息及报表体的分栏数、边框、数据信息及格式等等。

下面由序号加文件名(扩展名为.rdlc)把研究的格式列出来,以便在MIS金质打印通XML分析器中可以分析并兼容部分常用属性。

需要说明的是,由于这里这个Blog不能直接上传文件,所以直接把XML贴出来,完整的文件请到我的主面上下载。

0--设计时默认页面设置.rdlc
 初始报表设计器画板大小及一些默认值,主要是在rd:InitialDimensions中描述页面大小及默认单位,提供英吋和厘米两种单位,关系约为1Inch = 2.5厘米,注意仅仅是大约,以rd:标记开头,页面大小及左右顶底页边距见名知义。ColumnSpacing描述的是分栏间隔,默认1CM.在Report中定义的Width及Body\Height,其实就是在画板中设计的报表宽与高。

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">

<Width>6.5in</Width>
 <Body>
  <Height>2in</Height>
 </Body>
 <rd:InitialLanguage>true</rd:InitialLanguage>
 <rd:InitialDimensions>
  <rd:UnitType>Inch</rd:UnitType>
  <rd:LeftMargin>1in</rd:LeftMargin>
  <rd:RightMargin>1in</rd:RightMargin>
  <rd:TopMargin>1in</rd:TopMargin>
  <rd:BottomMargin>1in</rd:BottomMargin>
  <rd:PageWidth>8.5in</rd:PageWidth>
  <rd:PageHeight>11in</rd:PageHeight>
  <rd:ColumnSpacing>0.5in</rd:ColumnSpacing>
 </rd:InitialDimensions>
 <rd:InitialDimensions>
  <rd:UnitType>Cm</rd:UnitType>
  <rd:Width>16cm</rd:Width>
  <rd:Height>5cm</rd:Height>
  <rd:LeftMargin>2.5cm</rd:LeftMargin>
  <rd:RightMargin>2.5cm</rd:RightMargin>
  <rd:TopMargin>2.5cm</rd:TopMargin>
  <rd:BottomMargin>2.5cm</rd:BottomMargin>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>
  <rd:PageWidth>21cm</rd:PageWidth>
  <rd:PageHeight>29.7cm</rd:PageHeight>
  <rd:ColumnSpacing>1cm</rd:ColumnSpacing>
 </rd:InitialDimensions>
</Report>

这些信息可以单击画板,然后右健查看属性就可以看到Report。

1--Body及页面边框样式及背景设置.rdlc
 单击画板上的报表体,然后右健查看属性就可以看到报表真正的页面设置信息了,
 其中包括:
 分栏信息如分栏数、分栏之间的间距、宽与高(栏,当不分栏时实际就是报表宽高)
 格式信息如背景颜色、背景图片、边框(颜色、线样式、线粗),在Style中描述。
我倒觉得Report\Width应放到Report\Body中,也就是类似Report\Body\Height。
 这里说说边框,Html中,有个亮边框和暗边框,亮边框就是左边和顶边线,暗边框就是右边和底边线,它们的属性就是颜色。这里搞出一个默认的边框颜色,和Html保持一致,但没有亮、暗边框要领概念了,它搞的更广,干脆就矩形的四边即左、右、顶、底边分析描述。线样式、线粗同样也可以门针对四边进行描述。
 值得一提的是,如果指定的图像但图像文件不存在,运行报表时会提示出错。其实没必要嘛,直接跳过去得了,本机的倒好,Internet谁能保证那个图片提供的服务器不Down机啊。于是设置了本机的一个有效图片,运行时提示报表包含外部图片,还要设置EnableExternalImages属性,真是罗嗦:)。

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
  <InteractiveWidth>21cm</InteractiveWidth>
  <InteractiveHeight>29.7cm</InteractiveHeight>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>
  <rd:SnapToGrid>true</rd:SnapToGrid>
  <rd:ReportID>d9dddd8a-9336-41fb-ad58-7071ffac1a5a</rd:ReportID>
  <rd:DrawGrid>true</rd:DrawGrid>
  <Language>zh-CN</Language>

<LeftMargin>2.5cm</LeftMargin>
  <RightMargin>2.5cm</RightMargin>
  <TopMargin>2.5cm</TopMargin>
  <BottomMargin>2.5cm</BottomMargin>
  <PageHeight>29.7cm</PageHeight>
  <PageWidth>21cm</PageWidth>

<Width>8cm</Width>
  <Body>
    <Columns>2</Columns>
    <ColumnSpacing>1cm</ColumnSpacing>
    <Height>6cm</Height>
    <Style>

<BackgroundColor>Pink</BackgroundColor>

<BackgroundImage>
        <Value>MISGoldPrinter.JPG</Value>
        <Source>External</Source>
        <BackgroundRepeat>NoRepeat</BackgroundRepeat>
      </BackgroundImage>

<BorderColor>
        <Default>DarkGray</Default>
        <Top>Silver</Top>
        <Default>DarkGray</Default>
        <Left>Lime</Left>
        <Right>Red</Right>
      </BorderColor>

<BorderStyle>
        <Default>Dotted</Default>
      </BorderStyle>

<BorderWidth>
        <Default>2pt</Default>
      </BorderWidth>

</Style>
  </Body>
</Report>

2--页眉页脚.rdlc
 页眉页脚的概念我想就不用说了,用过word和Excel的都知道。它的属性同Body的Style一样,这里不敖述。
主要是增加特有属性PrintOnFirstPage、PrintOnLastPage表示是否在第一页和最后一页显示。虽然可以指定Width和Height属性,但是Width并不保存在XML文件中,不难不理解,页眉页脚宽就是打印页的宽。
 出现With出现在属性中的原因可以想象是由于同一体系中继承的问题。就像MIS金质打印通XML解析器,所有类统一继承并实现一个接口,提供Rectang表示元素所在的打印区,即使是描述一条直线,我们同样也可以看到X、Y、Width和Height属性。

这些信息可以单击画板,然后右健查看PageHeader/Footer属性就可以看到Report。

Body与页眉页脚的区别和联系:
相同点:都是画板即页面的一个打印区,都可作为报表元素的容器,既然是这样,那当然都可以设置样式。
不同点:Body可以分栏,而页眉页脚只是一栏;Body每页都打印,而页眉页脚可以选择首尾页是否打印。

<?xml version="1.0" encoding="utf-8"?>
<Report >
  <PageHeader>
    <Height>1.25cm</Height>
    <PrintOnLastPage>true</PrintOnLastPage>
    <PrintOnFirstPage>true</PrintOnFirstPage>
  </PageHeader>
  <PageFooter>
    <Height>1.5cm</Height>
    <PrintOnLastPage>true</PrintOnLastPage>
    <PrintOnFirstPage>true</PrintOnFirstPage>
  </PageFooter>
</Report>

报表元素
上面说了Body与页眉页脚都可作为报表元素的容器。报表元素包括Textbox、Line、Table、Rectangle,其中Rectangle也可作为报表元素的容器。报表元素全部在ReportItems中描述。

3--TextBox.rdlc
同Body一样,TextBox同样具有Style,另外就是描述文本的Value及文本所有矩形区Left、Top、Width、Height,可以指定CanGrow、CanShrink自适应。文本字体、颜色、对齐及边框等在Style中描述,其中PaddingLeft/Right/Top/Bottom描述文本距边框的起点位置。

<Body>
    <ReportItems>
      <Textbox Name="textbox1">
        <Value>Hello World!</Value>
        <Left>1cm</Left>
        <Top>0.75cm</Top>
        <Width>5.5cm</Width>
        <Height>0.75cm</Height>

<CanShrink>true</CanShrink>
        <CanGrow>true</CanGrow>

<Style>

<Color>SpringGreen</Color>
          <FontFamily>宋体</FontFamily>
          <FontStyle>Italic</FontStyle>
          <FontWeight>700</FontWeight>
          <TextDecoration>Underline</TextDecoration>

<TextAlign>Left</TextAlign>
          <VerticalAlign>Bottom</VerticalAlign>
          <Direction>RTL</Direction>

<PaddingLeft>20pt</PaddingLeft>
          <PaddingRight>2pt</PaddingRight>
          <PaddingTop>10pt</PaddingTop>
          <PaddingBottom>2pt</PaddingBottom>

<BorderColor>
            <Default>Red</Default>
          </BorderColor>
          <BorderStyle>
            <Default>Inset</Default>
          </BorderStyle>

</Style>
      </Textbox>
    </ReportItems>
  </Body>

4--Line.rdlc
Location和EndPoint存入XML文件时,计算并转换为矩形区Left、Top、Width、Height。
LineColor、LineStyle、LineWidth存入XML文件时保存为Style,相应的对应为BoderColor、BoderStyle、BoderWidth并存入Default标记。

<Body>
    <ColumnSpacing>1cm</ColumnSpacing>
    <ReportItems>
      <Line Name="line1">
        <Left>5cm</Left>
        <Top>1.25cm</Top>
        <Width>6cm</Width>
        <Height>0.75cm</Height>
        <Label>这是线</Label>

<Visibility>
          <Hidden>true</Hidden>
        </Visibility>

<Style>
          <BorderColor>
            <Default>Red</Default>
          </BorderColor>
          <BorderStyle>
            <Default>Dotted</Default>
          </BorderStyle>
          <BorderWidth>
            <Default>2pt</Default>
          </BorderWidth>
          <FontFamily>宋体</FontFamily>
        </Style>
      </Line>
    </ReportItems>
    <Height>5cm</Height>
  </Body>

5--Rectangle.rdlc
和Body一样,它可作为报表元素的容器,因此,也有Style下的Boder相关属性,当然,既然是一个矩形,少不了Left、Top、Width、Height属性。PageBreakAtStart、PageBreakAtEnd表示中否在这这前或之后换页。可以在此Rectangle后画一个Line后运行看看效果。但它的有组合在运行时有的却并不是我们想像的。

<Body>
    <ReportItems>
      <Rectangle Name="rectangle1">
        <Left>5.5cm</Left>
        <Top>0.75cm</Top>
        <Width>7.01058cm</Width>
        <Height>2.98942cm</Height>

<PageBreakAtStart>true</PageBreakAtStart>
        <PageBreakAtEnd>false</PageBreakAtEnd>

<Style>
          <BorderStyle>
            <Default>Inset</Default>
          </BorderStyle>
          <FontFamily>宋体</FontFamily>
          <BorderColor>
            <Default>DarkOrange</Default>
          </BorderColor>
        </Style>
      </Rectangle>
    </ReportItems>
  </Body>

6--Image.rdlc
它是在一个矩形区内,所以基本上具有Rectangle的固有属性,只是把把背景图片这个属性专门拿出来。

<Body>
    <ReportItems>
      <Image Name="image1">
        <Source>External</Source>
        <Value>c:\MISGoldPrinter.JPG</Value>
        <Sizing>AutoSize</Sizing>

<Left>6cm</Left>
        <Top>1cm</Top>
        <Width>5.74074cm</Width>
        <Height>5cm</Height>

</Image>
    </ReportItems>
  </Body>

7--Char.rdlc
Char基本具有Rectangle的固有属性和TextBox属性,需要数据源的支持。

对于列表(list)和子报表(SubReport),list可作为其它元素的容器。

表格Table,在列数固定和行数可变的网格中显示数据,由TableRows和TableColumns两部分组成。
TableRows在Header、Details、Footer三个部分中描述,每个TableRow由多个TableCell构成,TableCell的内容一般为TextBox,也可以是其它的报表元素,如Rectangle等,唯一不能的是Line。

8--Table.rdlc

Table:
表格在一个矩形区,所以具有Rectangle的属性,当然,它不具有Height,想一想,为什么?同时默认情况下具有TextBox属性,以用来从整体上改变单元格的格式。RepeatHeaderOnNewPage、RepeatFooterOnNewPage属性值分别保存于Header、Footer中的RepeatOnNewPage属性中。

TableColumn:
路径为Report\Body\ReportItems\Table\TableColumns,包含背景、边框、列宽(Width)及是否为固定列FixedHeader。
当然,这是以Body为容器的路径,如果是其它元素或嵌套情况,Report\Body相应的改为容器的路径。以下表示路径时不再特别说明。
如:
        <TableColumns>
          <TableColumn>
            <Width>3cm</Width>
            <FixedHeader>true</FixedHeader>
          </TableColumn>
          ... 
        <TableColumns>

其它的属性一般为所在该列报表元素特有属性,如果设置,则直接保存到特定的报表元素属性描述中,而不是保存在TableColumn中。

Header、Details、Footer:
根据名字可知,它们是描述表头表底固定行数据及表中间可变的数据行。因为有可变行,所以,没有Table不具有Height。RepeatOnNewPage表示是否每页都打印。
以Header为例,路么为Report\Body\ReportItems\Table\Header。

Table及相关的元素的XML文件主体描述如下:

<Body>
    <ReportItems>
      <Table Name="table1">

<Left>5cm</Left>
        <Top>0.75cm</Top>
        <Width>7.75132cm</Width>

<PageBreakAtStart>true</PageBreakAtStart>
        <PageBreakAtEnd>true</PageBreakAtEnd>

<Style>
          <TextAlign>Left</TextAlign>
          <FontFamily>宋体</FontFamily>
          <Direction>RTL</Direction>
          <Color>Red</Color>
          <TextDecoration>Underline</TextDecoration>
          <FontStyle>Italic</FontStyle>
        </Style>

<TableColumns>
          <TableColumn>
            <Width>3cm</Width>
            <FixedHeader>true</FixedHeader>
          </TableColumn>
          <TableColumn>
            <Width>2.24868cm</Width>
          </TableColumn>
          <TableColumn>
            <Width>2.24868cm</Width>
          </TableColumn>
        </TableColumns>

<Footer>
          <RepeatOnNewPage>true</RepeatOnNewPage>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox7">
                      <rd:DefaultName>textbox7</rd:DefaultName>
                      <ZIndex>5</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox8">
                      <rd:DefaultName>textbox8</rd:DefaultName>
                      <ZIndex>4</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox9">
                      <rd:DefaultName>textbox9</rd:DefaultName>
                      <ZIndex>3</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
              <Height>1.08466cm</Height>
            </TableRow>
          </TableRows>
        </Footer>

<Details>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox4">
                      <rd:DefaultName>textbox4</rd:DefaultName>
                      <ZIndex>2</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox5">
                      <rd:DefaultName>textbox5</rd:DefaultName>
                      <ZIndex>1</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox6">
                      <rd:DefaultName>textbox6</rd:DefaultName>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
              <Height>1.08466cm</Height>
            </TableRow>
          </TableRows>
        </Details>

<Header>
          <RepeatOnNewPage>true</RepeatOnNewPage>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox1">
                      <rd:DefaultName>textbox1</rd:DefaultName>
                      <ZIndex>8</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox2">
                      <rd:DefaultName>textbox2</rd:DefaultName>
                      <ZIndex>7</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox3">
                      <rd:DefaultName>textbox3</rd:DefaultName>
                      <ZIndex>6</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
            </TableRow>
          </TableRows>
        </Header>
      </Table>
    </ReportItems>
  </Body>

相关连接:

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">

<Width>6.5in</Width>
 <Body>
  <Height>2in</Height>
 </Body>
 <rd:InitialLanguage>true</rd:InitialLanguage>
 <rd:InitialDimensions>
  <rd:UnitType>Inch</rd:UnitType>
  <rd:LeftMargin>1in</rd:LeftMargin>
  <rd:RightMargin>1in</rd:RightMargin>
  <rd:TopMargin>1in</rd:TopMargin>
  <rd:BottomMargin>1in</rd:BottomMargin>
  <rd:PageWidth>8.5in</rd:PageWidth>
  <rd:PageHeight>11in</rd:PageHeight>
  <rd:ColumnSpacing>0.5in</rd:ColumnSpacing>
 </rd:InitialDimensions>
 <rd:InitialDimensions>
  <rd:UnitType>Cm</rd:UnitType>
  <rd:Width>16cm</rd:Width>
  <rd:Height>5cm</rd:Height>
  <rd:LeftMargin>2.5cm</rd:LeftMargin>
  <rd:RightMargin>2.5cm</rd:RightMargin>
  <rd:TopMargin>2.5cm</rd:TopMargin>
  <rd:BottomMargin>2.5cm</rd:BottomMargin>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>
  <rd:PageWidth>21cm</rd:PageWidth>
  <rd:PageHeight>29.7cm</rd:PageHeight>
  <rd:ColumnSpacing>1cm</rd:ColumnSpacing>
 </rd:InitialDimensions>
</Report>

这些信息可以单击画板,然后右健查看属性就可以看到Report。

1--Body及页面边框样式及背景设置.rdlc
 单击画板上的报表体,然后右健查看属性就可以看到报表真正的页面设置信息了,
 其中包括:
 分栏信息如分栏数、分栏之间的间距、宽与高(栏,当不分栏时实际就是报表宽高)
 格式信息如背景颜色、背景图片、边框(颜色、线样式、线粗),在Style中描述。
我倒觉得Report\Width应放到Report\Body中,也就是类似Report\Body\Height。
 这里说说边框,Html中,有个亮边框和暗边框,亮边框就是左边和顶边线,暗边框就是右边和底边线,它们的属性就是颜色。这里搞出一个默认的边框颜色,和Html保持一致,但没有亮、暗边框要领概念了,它搞的更广,干脆就矩形的四边即左、右、顶、底边分析描述。线样式、线粗同样也可以门针对四边进行描述。
 值得一提的是,如果指定的图像但图像文件不存在,运行报表时会提示出错。其实没必要嘛,直接跳过去得了,本机的倒好,Internet谁能保证那个图片提供的服务器不Down机啊。于是设置了本机的一个有效图片,运行时提示报表包含外部图片,还要设置EnableExternalImages属性,真是罗嗦:)。

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
  <InteractiveWidth>21cm</InteractiveWidth>
  <InteractiveHeight>29.7cm</InteractiveHeight>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>
  <rd:SnapToGrid>true</rd:SnapToGrid>
  <rd:ReportID>d9dddd8a-9336-41fb-ad58-7071ffac1a5a</rd:ReportID>
  <rd:DrawGrid>true</rd:DrawGrid>
  <Language>zh-CN</Language>

<LeftMargin>2.5cm</LeftMargin>
  <RightMargin>2.5cm</RightMargin>
  <TopMargin>2.5cm</TopMargin>
  <BottomMargin>2.5cm</BottomMargin>
  <PageHeight>29.7cm</PageHeight>
  <PageWidth>21cm</PageWidth>

<Width>8cm</Width>
  <Body>
    <Columns>2</Columns>
    <ColumnSpacing>1cm</ColumnSpacing>
    <Height>6cm</Height>
    <Style>

<BackgroundColor>Pink</BackgroundColor>

<BackgroundImage>
        <Value>MISGoldPrinter.JPG</Value>
        <Source>External</Source>
        <BackgroundRepeat>NoRepeat</BackgroundRepeat>
      </BackgroundImage>

<BorderColor>
        <Default>DarkGray</Default>
        <Top>Silver</Top>
        <Default>DarkGray</Default>
        <Left>Lime</Left>
        <Right>Red</Right>
      </BorderColor>

<BorderStyle>
        <Default>Dotted</Default>
      </BorderStyle>

<BorderWidth>
        <Default>2pt</Default>
      </BorderWidth>

</Style>
  </Body>
</Report>

2--页眉页脚.rdlc
 页眉页脚的概念我想就不用说了,用过word和Excel的都知道。它的属性同Body的Style一样,这里不敖述。
主要是增加特有属性PrintOnFirstPage、PrintOnLastPage表示是否在第一页和最后一页显示。虽然可以指定Width和Height属性,但是Width并不保存在XML文件中,不难不理解,页眉页脚宽就是打印页的宽。
 出现With出现在属性中的原因可以想象是由于同一体系中继承的问题。就像MIS金质打印通XML解析器,所有类统一继承并实现一个接口,提供Rectang表示元素所在的打印区,即使是描述一条直线,我们同样也可以看到X、Y、Width和Height属性。

这些信息可以单击画板,然后右健查看PageHeader/Footer属性就可以看到Report。

Body与页眉页脚的区别和联系:
相同点:都是画板即页面的一个打印区,都可作为报表元素的容器,既然是这样,那当然都可以设置样式。
不同点:Body可以分栏,而页眉页脚只是一栏;Body每页都打印,而页眉页脚可以选择首尾页是否打印。

<?xml version="1.0" encoding="utf-8"?>
<Report >
  <PageHeader>
    <Height>1.25cm</Height>
    <PrintOnLastPage>true</PrintOnLastPage>
    <PrintOnFirstPage>true</PrintOnFirstPage>
  </PageHeader>
  <PageFooter>
    <Height>1.5cm</Height>
    <PrintOnLastPage>true</PrintOnLastPage>
    <PrintOnFirstPage>true</PrintOnFirstPage>
  </PageFooter>
</Report>

报表元素
上面说了Body与页眉页脚都可作为报表元素的容器。报表元素包括Textbox、Line、Table、Rectangle,其中Rectangle也可作为报表元素的容器。报表元素全部在ReportItems中描述。

3--TextBox.rdlc
同Body一样,TextBox同样具有Style,另外就是描述文本的Value及文本所有矩形区Left、Top、Width、Height,可以指定CanGrow、CanShrink自适应。文本字体、颜色、对齐及边框等在Style中描述,其中PaddingLeft/Right/Top/Bottom描述文本距边框的起点位置。

<Body>
    <ReportItems>
      <Textbox Name="textbox1">
        <Value>Hello World!</Value>
        <Left>1cm</Left>
        <Top>0.75cm</Top>
        <Width>5.5cm</Width>
        <Height>0.75cm</Height>

<CanShrink>true</CanShrink>
        <CanGrow>true</CanGrow>

<Style>

<Color>SpringGreen</Color>
          <FontFamily>宋体</FontFamily>
          <FontStyle>Italic</FontStyle>
          <FontWeight>700</FontWeight>
          <TextDecoration>Underline</TextDecoration>

<TextAlign>Left</TextAlign>
          <VerticalAlign>Bottom</VerticalAlign>
          <Direction>RTL</Direction>

<PaddingLeft>20pt</PaddingLeft>
          <PaddingRight>2pt</PaddingRight>
          <PaddingTop>10pt</PaddingTop>
          <PaddingBottom>2pt</PaddingBottom>

<BorderColor>
            <Default>Red</Default>
          </BorderColor>
          <BorderStyle>
            <Default>Inset</Default>
          </BorderStyle>

</Style>
      </Textbox>
    </ReportItems>
  </Body>

4--Line.rdlc
Location和EndPoint存入XML文件时,计算并转换为矩形区Left、Top、Width、Height。
LineColor、LineStyle、LineWidth存入XML文件时保存为Style,相应的对应为BoderColor、BoderStyle、BoderWidth并存入Default标记。

<Body>
    <ColumnSpacing>1cm</ColumnSpacing>
    <ReportItems>
      <Line Name="line1">
        <Left>5cm</Left>
        <Top>1.25cm</Top>
        <Width>6cm</Width>
        <Height>0.75cm</Height>
        <Label>这是线</Label>

<Visibility>
          <Hidden>true</Hidden>
        </Visibility>

<Style>
          <BorderColor>
            <Default>Red</Default>
          </BorderColor>
          <BorderStyle>
            <Default>Dotted</Default>
          </BorderStyle>
          <BorderWidth>
            <Default>2pt</Default>
          </BorderWidth>
          <FontFamily>宋体</FontFamily>
        </Style>
      </Line>
    </ReportItems>
    <Height>5cm</Height>
  </Body>

5--Rectangle.rdlc
和Body一样,它可作为报表元素的容器,因此,也有Style下的Boder相关属性,当然,既然是一个矩形,少不了Left、Top、Width、Height属性。PageBreakAtStart、PageBreakAtEnd表示中否在这这前或之后换页。可以在此Rectangle后画一个Line后运行看看效果。但它的有组合在运行时有的却并不是我们想像的。

<Body>
    <ReportItems>
      <Rectangle Name="rectangle1">
        <Left>5.5cm</Left>
        <Top>0.75cm</Top>
        <Width>7.01058cm</Width>
        <Height>2.98942cm</Height>

<PageBreakAtStart>true</PageBreakAtStart>
        <PageBreakAtEnd>false</PageBreakAtEnd>

<Style>
          <BorderStyle>
            <Default>Inset</Default>
          </BorderStyle>
          <FontFamily>宋体</FontFamily>
          <BorderColor>
            <Default>DarkOrange</Default>
          </BorderColor>
        </Style>
      </Rectangle>
    </ReportItems>
  </Body>

6--Image.rdlc
它是在一个矩形区内,所以基本上具有Rectangle的固有属性,只是把把背景图片这个属性专门拿出来。

<Body>
    <ReportItems>
      <Image Name="image1">
        <Source>External</Source>
        <Value>c:\MISGoldPrinter.JPG</Value>
        <Sizing>AutoSize</Sizing>

<Left>6cm</Left>
        <Top>1cm</Top>
        <Width>5.74074cm</Width>
        <Height>5cm</Height>

</Image>
    </ReportItems>
  </Body>

7--Char.rdlc
Char基本具有Rectangle的固有属性和TextBox属性,需要数据源的支持。

对于列表(list)和子报表(SubReport),list可作为其它元素的容器。

表格Table,在列数固定和行数可变的网格中显示数据,由TableRows和TableColumns两部分组成。
TableRows在Header、Details、Footer三个部分中描述,每个TableRow由多个TableCell构成,TableCell的内容一般为TextBox,也可以是其它的报表元素,如Rectangle等,唯一不能的是Line。

8--Table.rdlc

Table:
表格在一个矩形区,所以具有Rectangle的属性,当然,它不具有Height,想一想,为什么?同时默认情况下具有TextBox属性,以用来从整体上改变单元格的格式。RepeatHeaderOnNewPage、RepeatFooterOnNewPage属性值分别保存于Header、Footer中的RepeatOnNewPage属性中。

TableColumn:
路径为Report\Body\ReportItems\Table\TableColumns,包含背景、边框、列宽(Width)及是否为固定列FixedHeader。
当然,这是以Body为容器的路径,如果是其它元素或嵌套情况,Report\Body相应的改为容器的路径。以下表示路径时不再特别说明。
如:
        <TableColumns>
          <TableColumn>
            <Width>3cm</Width>
            <FixedHeader>true</FixedHeader>
          </TableColumn>
          ... 
        <TableColumns>

其它的属性一般为所在该列报表元素特有属性,如果设置,则直接保存到特定的报表元素属性描述中,而不是保存在TableColumn中。

Header、Details、Footer:
根据名字可知,它们是描述表头表底固定行数据及表中间可变的数据行。因为有可变行,所以,没有Table不具有Height。RepeatOnNewPage表示是否每页都打印。
以Header为例,路么为Report\Body\ReportItems\Table\Header。

Table及相关的元素的XML文件主体描述如下:

<Body>
    <ReportItems>
      <Table Name="table1">

<Left>5cm</Left>
        <Top>0.75cm</Top>
        <Width>7.75132cm</Width>

<PageBreakAtStart>true</PageBreakAtStart>
        <PageBreakAtEnd>true</PageBreakAtEnd>

<Style>
          <TextAlign>Left</TextAlign>
          <FontFamily>宋体</FontFamily>
          <Direction>RTL</Direction>
          <Color>Red</Color>
          <TextDecoration>Underline</TextDecoration>
          <FontStyle>Italic</FontStyle>
        </Style>

<TableColumns>
          <TableColumn>
            <Width>3cm</Width>
            <FixedHeader>true</FixedHeader>
          </TableColumn>
          <TableColumn>
            <Width>2.24868cm</Width>
          </TableColumn>
          <TableColumn>
            <Width>2.24868cm</Width>
          </TableColumn>
        </TableColumns>

<Footer>
          <RepeatOnNewPage>true</RepeatOnNewPage>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox7">
                      <rd:DefaultName>textbox7</rd:DefaultName>
                      <ZIndex>5</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox8">
                      <rd:DefaultName>textbox8</rd:DefaultName>
                      <ZIndex>4</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox9">
                      <rd:DefaultName>textbox9</rd:DefaultName>
                      <ZIndex>3</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
              <Height>1.08466cm</Height>
            </TableRow>
          </TableRows>
        </Footer>

<Details>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox4">
                      <rd:DefaultName>textbox4</rd:DefaultName>
                      <ZIndex>2</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox5">
                      <rd:DefaultName>textbox5</rd:DefaultName>
                      <ZIndex>1</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox6">
                      <rd:DefaultName>textbox6</rd:DefaultName>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
              <Height>1.08466cm</Height>
            </TableRow>
          </TableRows>
        </Details>

<Header>
          <RepeatOnNewPage>true</RepeatOnNewPage>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox1">
                      <rd:DefaultName>textbox1</rd:DefaultName>
                      <ZIndex>8</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox2">
                      <rd:DefaultName>textbox2</rd:DefaultName>
                      <ZIndex>7</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox3">
                      <rd:DefaultName>textbox3</rd:DefaultName>
                      <ZIndex>6</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
            </TableRow>
          </TableRows>
        </Header>
      </Table>
    </ReportItems>
  </Body>

相关连接:

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">

<Width>6.5in</Width>
 <Body>
  <Height>2in</Height>
 </Body>
 <rd:InitialLanguage>true</rd:InitialLanguage>
 <rd:InitialDimensions>
  <rd:UnitType>Inch</rd:UnitType>
  <rd:LeftMargin>1in</rd:LeftMargin>
  <rd:RightMargin>1in</rd:RightMargin>
  <rd:TopMargin>1in</rd:TopMargin>
  <rd:BottomMargin>1in</rd:BottomMargin>
  <rd:PageWidth>8.5in</rd:PageWidth>
  <rd:PageHeight>11in</rd:PageHeight>
  <rd:ColumnSpacing>0.5in</rd:ColumnSpacing>
 </rd:InitialDimensions>
 <rd:InitialDimensions>
  <rd:UnitType>Cm</rd:UnitType>
  <rd:Width>16cm</rd:Width>
  <rd:Height>5cm</rd:Height>
  <rd:LeftMargin>2.5cm</rd:LeftMargin>
  <rd:RightMargin>2.5cm</rd:RightMargin>
  <rd:TopMargin>2.5cm</rd:TopMargin>
  <rd:BottomMargin>2.5cm</rd:BottomMargin>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>
  <rd:PageWidth>21cm</rd:PageWidth>
  <rd:PageHeight>29.7cm</rd:PageHeight>
  <rd:ColumnSpacing>1cm</rd:ColumnSpacing>
 </rd:InitialDimensions>
</Report>

这些信息可以单击画板,然后右健查看属性就可以看到Report。

1--Body及页面边框样式及背景设置.rdlc
 单击画板上的报表体,然后右健查看属性就可以看到报表真正的页面设置信息了,
 其中包括:
 分栏信息如分栏数、分栏之间的间距、宽与高(栏,当不分栏时实际就是报表宽高)
 格式信息如背景颜色、背景图片、边框(颜色、线样式、线粗),在Style中描述。
我倒觉得Report\Width应放到Report\Body中,也就是类似Report\Body\Height。
 这里说说边框,Html中,有个亮边框和暗边框,亮边框就是左边和顶边线,暗边框就是右边和底边线,它们的属性就是颜色。这里搞出一个默认的边框颜色,和Html保持一致,但没有亮、暗边框要领概念了,它搞的更广,干脆就矩形的四边即左、右、顶、底边分析描述。线样式、线粗同样也可以门针对四边进行描述。
 值得一提的是,如果指定的图像但图像文件不存在,运行报表时会提示出错。其实没必要嘛,直接跳过去得了,本机的倒好,Internet谁能保证那个图片提供的服务器不Down机啊。于是设置了本机的一个有效图片,运行时提示报表包含外部图片,还要设置EnableExternalImages属性,真是罗嗦:)。

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
  <InteractiveWidth>21cm</InteractiveWidth>
  <InteractiveHeight>29.7cm</InteractiveHeight>
  <rd:GridSpacing>0.25cm</rd:GridSpacing>
  <rd:SnapToGrid>true</rd:SnapToGrid>
  <rd:ReportID>d9dddd8a-9336-41fb-ad58-7071ffac1a5a</rd:ReportID>
  <rd:DrawGrid>true</rd:DrawGrid>
  <Language>zh-CN</Language>

<LeftMargin>2.5cm</LeftMargin>
  <RightMargin>2.5cm</RightMargin>
  <TopMargin>2.5cm</TopMargin>
  <BottomMargin>2.5cm</BottomMargin>
  <PageHeight>29.7cm</PageHeight>
  <PageWidth>21cm</PageWidth>

<Width>8cm</Width>
  <Body>
    <Columns>2</Columns>
    <ColumnSpacing>1cm</ColumnSpacing>
    <Height>6cm</Height>
    <Style>

<BackgroundColor>Pink</BackgroundColor>

<BackgroundImage>
        <Value>MISGoldPrinter.JPG</Value>
        <Source>External</Source>
        <BackgroundRepeat>NoRepeat</BackgroundRepeat>
      </BackgroundImage>

<BorderColor>
        <Default>DarkGray</Default>
        <Top>Silver</Top>
        <Default>DarkGray</Default>
        <Left>Lime</Left>
        <Right>Red</Right>
      </BorderColor>

<BorderStyle>
        <Default>Dotted</Default>
      </BorderStyle>

<BorderWidth>
        <Default>2pt</Default>
      </BorderWidth>

</Style>
  </Body>
</Report>

2--页眉页脚.rdlc
 页眉页脚的概念我想就不用说了,用过word和Excel的都知道。它的属性同Body的Style一样,这里不敖述。
主要是增加特有属性PrintOnFirstPage、PrintOnLastPage表示是否在第一页和最后一页显示。虽然可以指定Width和Height属性,但是Width并不保存在XML文件中,不难不理解,页眉页脚宽就是打印页的宽。
 出现With出现在属性中的原因可以想象是由于同一体系中继承的问题。就像MIS金质打印通XML解析器,所有类统一继承并实现一个接口,提供Rectang表示元素所在的打印区,即使是描述一条直线,我们同样也可以看到X、Y、Width和Height属性。

这些信息可以单击画板,然后右健查看PageHeader/Footer属性就可以看到Report。

Body与页眉页脚的区别和联系:
相同点:都是画板即页面的一个打印区,都可作为报表元素的容器,既然是这样,那当然都可以设置样式。
不同点:Body可以分栏,而页眉页脚只是一栏;Body每页都打印,而页眉页脚可以选择首尾页是否打印。

<?xml version="1.0" encoding="utf-8"?>
<Report >
  <PageHeader>
    <Height>1.25cm</Height>
    <PrintOnLastPage>true</PrintOnLastPage>
    <PrintOnFirstPage>true</PrintOnFirstPage>
  </PageHeader>
  <PageFooter>
    <Height>1.5cm</Height>
    <PrintOnLastPage>true</PrintOnLastPage>
    <PrintOnFirstPage>true</PrintOnFirstPage>
  </PageFooter>
</Report>

报表元素
上面说了Body与页眉页脚都可作为报表元素的容器。报表元素包括Textbox、Line、Table、Rectangle,其中Rectangle也可作为报表元素的容器。报表元素全部在ReportItems中描述。

3--TextBox.rdlc
同Body一样,TextBox同样具有Style,另外就是描述文本的Value及文本所有矩形区Left、Top、Width、Height,可以指定CanGrow、CanShrink自适应。文本字体、颜色、对齐及边框等在Style中描述,其中PaddingLeft/Right/Top/Bottom描述文本距边框的起点位置。

<Body>
    <ReportItems>
      <Textbox Name="textbox1">
        <Value>Hello World!</Value>
        <Left>1cm</Left>
        <Top>0.75cm</Top>
        <Width>5.5cm</Width>
        <Height>0.75cm</Height>

<CanShrink>true</CanShrink>
        <CanGrow>true</CanGrow>

<Style>

<Color>SpringGreen</Color>
          <FontFamily>宋体</FontFamily>
          <FontStyle>Italic</FontStyle>
          <FontWeight>700</FontWeight>
          <TextDecoration>Underline</TextDecoration>

<TextAlign>Left</TextAlign>
          <VerticalAlign>Bottom</VerticalAlign>
          <Direction>RTL</Direction>

<PaddingLeft>20pt</PaddingLeft>
          <PaddingRight>2pt</PaddingRight>
          <PaddingTop>10pt</PaddingTop>
          <PaddingBottom>2pt</PaddingBottom>

<BorderColor>
            <Default>Red</Default>
          </BorderColor>
          <BorderStyle>
            <Default>Inset</Default>
          </BorderStyle>

</Style>
      </Textbox>
    </ReportItems>
  </Body>

4--Line.rdlc
Location和EndPoint存入XML文件时,计算并转换为矩形区Left、Top、Width、Height。
LineColor、LineStyle、LineWidth存入XML文件时保存为Style,相应的对应为BoderColor、BoderStyle、BoderWidth并存入Default标记。

<Body>
    <ColumnSpacing>1cm</ColumnSpacing>
    <ReportItems>
      <Line Name="line1">
        <Left>5cm</Left>
        <Top>1.25cm</Top>
        <Width>6cm</Width>
        <Height>0.75cm</Height>
        <Label>这是线</Label>

<Visibility>
          <Hidden>true</Hidden>
        </Visibility>

<Style>
          <BorderColor>
            <Default>Red</Default>
          </BorderColor>
          <BorderStyle>
            <Default>Dotted</Default>
          </BorderStyle>
          <BorderWidth>
            <Default>2pt</Default>
          </BorderWidth>
          <FontFamily>宋体</FontFamily>
        </Style>
      </Line>
    </ReportItems>
    <Height>5cm</Height>
  </Body>

5--Rectangle.rdlc
和Body一样,它可作为报表元素的容器,因此,也有Style下的Boder相关属性,当然,既然是一个矩形,少不了Left、Top、Width、Height属性。PageBreakAtStart、PageBreakAtEnd表示中否在这这前或之后换页。可以在此Rectangle后画一个Line后运行看看效果。但它的有组合在运行时有的却并不是我们想像的。

<Body>
    <ReportItems>
      <Rectangle Name="rectangle1">
        <Left>5.5cm</Left>
        <Top>0.75cm</Top>
        <Width>7.01058cm</Width>
        <Height>2.98942cm</Height>

<PageBreakAtStart>true</PageBreakAtStart>
        <PageBreakAtEnd>false</PageBreakAtEnd>

<Style>
          <BorderStyle>
            <Default>Inset</Default>
          </BorderStyle>
          <FontFamily>宋体</FontFamily>
          <BorderColor>
            <Default>DarkOrange</Default>
          </BorderColor>
        </Style>
      </Rectangle>
    </ReportItems>
  </Body>

6--Image.rdlc
它是在一个矩形区内,所以基本上具有Rectangle的固有属性,只是把把背景图片这个属性专门拿出来。

<Body>
    <ReportItems>
      <Image Name="image1">
        <Source>External</Source>
        <Value>c:\MISGoldPrinter.JPG</Value>
        <Sizing>AutoSize</Sizing>

<Left>6cm</Left>
        <Top>1cm</Top>
        <Width>5.74074cm</Width>
        <Height>5cm</Height>

</Image>
    </ReportItems>
  </Body>

7--Char.rdlc
Char基本具有Rectangle的固有属性和TextBox属性,需要数据源的支持。

对于列表(list)和子报表(SubReport),list可作为其它元素的容器。

表格Table,在列数固定和行数可变的网格中显示数据,由TableRows和TableColumns两部分组成。
TableRows在Header、Details、Footer三个部分中描述,每个TableRow由多个TableCell构成,TableCell的内容一般为TextBox,也可以是其它的报表元素,如Rectangle等,唯一不能的是Line。

8--Table.rdlc

Table:
表格在一个矩形区,所以具有Rectangle的属性,当然,它不具有Height,想一想,为什么?同时默认情况下具有TextBox属性,以用来从整体上改变单元格的格式。RepeatHeaderOnNewPage、RepeatFooterOnNewPage属性值分别保存于Header、Footer中的RepeatOnNewPage属性中。

TableColumn:
路径为Report\Body\ReportItems\Table\TableColumns,包含背景、边框、列宽(Width)及是否为固定列FixedHeader。
当然,这是以Body为容器的路径,如果是其它元素或嵌套情况,Report\Body相应的改为容器的路径。以下表示路径时不再特别说明。
如:
        <TableColumns>
          <TableColumn>
            <Width>3cm</Width>
            <FixedHeader>true</FixedHeader>
          </TableColumn>
          ... 
        <TableColumns>

其它的属性一般为所在该列报表元素特有属性,如果设置,则直接保存到特定的报表元素属性描述中,而不是保存在TableColumn中。

Header、Details、Footer:
根据名字可知,它们是描述表头表底固定行数据及表中间可变的数据行。因为有可变行,所以,没有Table不具有Height。RepeatOnNewPage表示是否每页都打印。
以Header为例,路么为Report\Body\ReportItems\Table\Header。

Table及相关的元素的XML文件主体描述如下:

<Body>
    <ReportItems>
      <Table Name="table1">

<Left>5cm</Left>
        <Top>0.75cm</Top>
        <Width>7.75132cm</Width>

<PageBreakAtStart>true</PageBreakAtStart>
        <PageBreakAtEnd>true</PageBreakAtEnd>

<Style>
          <TextAlign>Left</TextAlign>
          <FontFamily>宋体</FontFamily>
          <Direction>RTL</Direction>
          <Color>Red</Color>
          <TextDecoration>Underline</TextDecoration>
          <FontStyle>Italic</FontStyle>
        </Style>

<TableColumns>
          <TableColumn>
            <Width>3cm</Width>
            <FixedHeader>true</FixedHeader>
          </TableColumn>
          <TableColumn>
            <Width>2.24868cm</Width>
          </TableColumn>
          <TableColumn>
            <Width>2.24868cm</Width>
          </TableColumn>
        </TableColumns>

<Footer>
          <RepeatOnNewPage>true</RepeatOnNewPage>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox7">
                      <rd:DefaultName>textbox7</rd:DefaultName>
                      <ZIndex>5</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox8">
                      <rd:DefaultName>textbox8</rd:DefaultName>
                      <ZIndex>4</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox9">
                      <rd:DefaultName>textbox9</rd:DefaultName>
                      <ZIndex>3</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
              <Height>1.08466cm</Height>
            </TableRow>
          </TableRows>
        </Footer>

<Details>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox4">
                      <rd:DefaultName>textbox4</rd:DefaultName>
                      <ZIndex>2</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox5">
                      <rd:DefaultName>textbox5</rd:DefaultName>
                      <ZIndex>1</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox6">
                      <rd:DefaultName>textbox6</rd:DefaultName>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
              <Height>1.08466cm</Height>
            </TableRow>
          </TableRows>
        </Details>

<Header>
          <RepeatOnNewPage>true</RepeatOnNewPage>
          <TableRows>
            <TableRow>
              <TableCells>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox1">
                      <rd:DefaultName>textbox1</rd:DefaultName>
                      <ZIndex>8</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox2">
                      <rd:DefaultName>textbox2</rd:DefaultName>
                      <ZIndex>7</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
                <TableCell>
                  <ReportItems>
                    <Textbox Name="textbox3">
                      <rd:DefaultName>textbox3</rd:DefaultName>
                      <ZIndex>6</ZIndex>
                      <Style>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingBottom>2pt</PaddingBottom>
                        <FontFamily>宋体</FontFamily>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                      </Style>
                      <CanGrow>true</CanGrow>
                      <Value />
                    </Textbox>
                  </ReportItems>
                </TableCell>
              </TableCells>
            </TableRow>
          </TableRows>
        </Header>
      </Table>
    </ReportItems>
  </Body>

转载于:https://www.cnblogs.com/jobin/articles/1155561.html

Vs2005报表设计器XML分析总结 作者:长江支流相关推荐

  1. 水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合

    dada-report报表整合UReport报表设计器工具 结合日常工作和学习实践,针对传统报表子站面临的问题,尝试借助UReport报表设计器解决 1.可在现有工程基础上引入Ureport2报表设计 ...

  2. ActiveReports.NET Crack,集成报表设计器

    ActiveReports.NET Crack,集成报表设计器 ActiveReports.NET 通过直观的 Visual Studio 集成报表设计器和丰富的控件帮助您交付精美的报表.Active ...

  3. 报表设计器条形码支持类型

    2019独角兽企业重金招聘Python工程师标准>>> 下表为 Stimulsoft Reports 报表设计器所支持的条形码("+"表示支持,空白表示不支持). ...

  4. dev 报表设计器 怎么设置每页10行_可嵌入您系统的.NET 报表控件ActiveReports:带状列表组件...

    葡萄城报表控件ActiveReports V14.0 全面支持 .NET Core平台.同时 ActiveReports的桌面报表设计器UI也全面增强,报表预览方式得以全面优化,报表设计能力得以大幅提 ...

  5. fastreport oracle,【FastReport教程】如何使用插件在报表设计器中将连接器添加到Oracle数据库...

    如果您从未使用过报表设计器FastReport.Net的插件,那么本文将会为你详细介绍 Step 1:带有数据库连接器的插件的本质是简化从报表连接到数据库的过程,您可以安装本机连接器,但由于设置丰富, ...

  6. 对于盈帆报表设计器的介绍(报表工具)

    对于盈帆报表设计器功能: 1.采用类似Excel操作方式制作报表模版,简单易操作. 2.无需掌握复杂的编程语言,就可以快速高效地制作出符合企业业务需求的报表. 3.支持分布式(Oracle.SQL S ...

  7. 说说下一代的报表设计器——Jaspersoft Studio

    大家所熟知的报表设计器应该是 iReport,现在已经不再维护咯,Jaspersoft 公司已经把资源转向了 Jaspersoft Studio,所以我们就来看一看这个新一代的设计器吧. Jasper ...

  8. activiti-modeler 工作流设计器代码分析

    用了一段时间的activiti5工作流,今天做个设计器的分析.新版的使用了bootstrap和angularJS做了封装.先从文件的说明开始. 1.文件夹说明: configuration:设计器的属 ...

  9. 报表设计应该注意什么?报表设计器推荐

    报表设计需要强调的几点: 1.明确分析目的,不要想着"用户想要看什么",而是要去想"用户想要解决什么问题". 不管是基于项目目标还是业务流程还是现有报表,最终都 ...

最新文章

  1. UI设计学习的对比原则怎么运用?
  2. JAVA——监听器ActionListener与MouseListener执行顺序
  3. android怎么打开wifi的组播功能
  4. sql跨表查询_跨表更新,看到自己写的SQL像个憨憨
  5. [XML-Jsoup]Jsoup_解析_快速入门
  6. 在Javascript中实现伪哈希表
  7. login.html id=9453,SN100C Sublizenzierung und Aufnahme in die ISO 9453
  8. AlexNet,VGG,GoogleNet,ResNet
  9. python sklearn 支持向量机_python机器学习库sklearn之支持向量机svm介绍
  10. Netflix:当你按下“播放”的时候发生了什么?
  11. 【BZOJ4991】我也不知道题目名字是什么(线段树)
  12. html浏览xsd,XSD 简易元素
  13. 图像目标检测识别,计算物体个数,针对电子元器件计算
  14. MagicDraw-需求图
  15. 微软商店的iTunes备份文件路径正确修改方法(2022.3.25)
  16. Mac OS X 通知中心彻底删除网站的通知
  17. 使用powerpoint简单的处理图片(用作浏览器背景)
  18. vue组件雨滴、星星、流星特效动画(开箱即用)
  19. Maven的settings.xml配置详解-阿里云仓库
  20. 《我是科比》—科比在湖人成长记录

热门文章

  1. 模拟Vue响应式原理
  2. sap根据采购申请查询询价
  3. 拉一塔准则python_学习笔记之Python实现纵横向拉开档次法-研究方法概述
  4. 水星mw305r路由器虚拟服务器错误,水星mw305r路由器连不上网为什么
  5. MiniGUI Lite 版本
  6. Android 设置输入法[软键盘]将底部布局推上去
  7. 海苔的营养价值到底多高?海苔味休闲零食引领市场新潮流
  8. 鸿合一体机触屏没反应怎么办_鸿合电子白板无法触屏,是什么原因啊,怎么解决?...
  9. 手机数控模拟器安卓版_安卓版数控机床模拟器下载-安卓版数控机床模拟器高级手机版下载v1.0_信手游...
  10. GIN框架(GOLANG)讲解如何疯速入门