ReportViewer 2010, запретить разбиение на страницы
Есть ReportViewer 2010, в нём Report, внутри Subreport. Один логический элемент Subreport состоит из нескольких строк. Как запретить вставлять разбиение страницы внутри логического элемента?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: ReportViewer 2010, запретить разбиение на страницы
От:
_FRED_
Дата: 10.01.11 19:22
Оценка:
Здравствуйте, adontz, Вы писали:
A>Есть ReportViewer 2010, в нём Report, внутри Subreport.
Речь про КристалРепортс?
A>Один логический элемент Subreport состоит из нескольких строк. Как запретить вставлять разбиение страницы внутри логического элемента?
А если не влезает сабрепорт в страницу, как должно разбиваться? Если начинается с середины страницы, то весь сабрепорт должен быть на следующей странице?
По поводу примера: странно, что заголовок записи на одной странце, а данные на другой. Быть может, устроит вариант, когда в примере заголовок ("Petr Petrovov") будет на одной странице с относящимися к этому заголовку данными?
Help will always be given at Hogwarts to those who ask for it.
Re[2]: ReportViewer 2010, запретить разбиение на страницы
Здравствуйте, _FRED_, Вы писали:
A>>Есть ReportViewer 2010, в нём Report, внутри Subreport.
_FR>Речь про КристалРепортс?
Нет, про MSовский.
A>>Один логический элемент Subreport состоит из нескольких строк. Как запретить вставлять разбиение страницы внутри логического элемента?
_FR>А если не влезает сабрепорт в страницу, как должно разбиваться? Если начинается с середины страницы, то весь сабрепорт должен быть на следующей странице?
Они очень мелкие, на страницу штук 10 влезает. Да, если в конце страницы помещается часть, то должно целиком перейти на следующую.
_FR>По поводу примера: странно, что заголовок записи на одной странце, а данные на другой. Быть может, устроит вариант, когда в примере заголовок ("Petr Petrovov") будет на одной странице с относящимися к этому заголовку данными?
Это не заголовок, это чётная и нечётная строка. То есть все строки — данные.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: ReportViewer 2010, запретить разбиение на страницы
Здравствуйте, adontz, Вы писали:
A>Есть ReportViewer 2010, в нём Report, внутри Subreport. Один логический элемент Subreport состоит из нескольких строк. Как запретить вставлять разбиение страницы внутри логического элемента?
Не помню точно, но по-моему для этого есть свойство KeepTogether у некоторых элементов (у Rectangle и Table точно есть).
... << RSDN@Home 1.2.0 alpha 4 rev. 1491>>
Re[2]: ReportViewer 2010, запретить разбиение на страницы
Здравствуйте, Alexey Axyonov, Вы писали:
A>>Есть ReportViewer 2010, в нём Report, внутри Subreport. Один логический элемент Subreport состоит из нескольких строк. Как запретить вставлять разбиение страницы внутри логического элемента?
AA>Не помню точно, но по-моему для этого есть свойство KeepTogether у некоторых элементов (у Rectangle и Table точно есть).
Да я его нашёл, что-то не работает совсем
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: ReportViewer 2010, запретить разбиение на страницы
Здравствуйте, adontz, Вы писали:
A>Да я его нашёл, что-то не работает совсем
Поделись rdlc файлом — попробую поиграться.
... << RSDN@Home 1.2.0 alpha 4 rev. 1491>>
Re[4]: ReportViewer 2010, запретить разбиение на страницы
Здравствуйте, Alexey Axyonov, Вы писали:
AA>Поделись rdlc файлом — попробую поиграться.
RDLC <?xml version="1.0" encoding="utf-8"?>
<Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition">
<DataSources>
<DataSource Name="TVBillingClient">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>555aa783-d231-4825-9fea-1e43a20647a1</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="CustomerDebtAreaSubportView">
<Fields>
<Field Name="Address">
<DataField>Address</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Amount">
<DataField>Amount</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Area">
<DataField>Area</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="CellPhone">
<DataField>CellPhone</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Contract">
<DataField>Contract</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="FirstName">
<DataField>FirstName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="HomePhone">
<DataField>HomePhone</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="LastCreditTimestamp">
<DataField>LastCreditTimestamp</DataField>
<rd:TypeName>System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]</rd:TypeName>
</Field>
<Field Name="LastDebitTimestamp">
<DataField>LastDebitTimestamp</DataField>
<rd:TypeName>System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]</rd:TypeName>
</Field>
<Field Name="LastName">
<DataField>LastName</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Personality">
<DataField>Personality</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<Query>
<DataSourceName>TVBillingClient</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<rd:DataSetInfo>
<rd:DataSetName>TVBilling.Client</rd:DataSetName>
<rd:TableName>CustomerDebtAreaSubreportItemView</rd:TableName>
<rd:ObjectDataSourceType>TVBilling.Client.CustomerDebtAreaSubreportItemView, TVBilling.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</rd:ObjectDataSourceType>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<Body>
<ReportItems>
<Tablix Name="TablixMain">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>1.25in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.5in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.5in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.25in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.5in</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.19in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Contract">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Contract.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Contract</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="LastName">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!LastName.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>LastName</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="HomePhone">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!HomePhone.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>HomePhone</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Amount">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Amount.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
<Format>0.00</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Amount</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="LastCreditTimestamp">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!LastCreditTimestamp.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
<Format>yyyy-MMM-dd</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>LastCreditTimestamp</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.19in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Personality">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Personality.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Personality</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="FirstName">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!FirstName.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="CellPhone">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!CellPhone.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>CellPhone</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Address">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Address.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Address</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="LastDebitTimestamp">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!LastDebitTimestamp.Value</Value>
<Style>
<FontFamily>DejaVu Sans Mono</FontFamily>
<FontSize>9pt</FontSize>
<Format>yyyy-MMM-dd</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>LastDebitTimestamp</rd:DefaultName>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
</Border>
<BackgroundColor>=IIf(RowNumber(Nothing) Mod 2, "Transparent", "LightGrey")</BackgroundColor>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="Details" />
<SortExpressions>
<SortExpression>
<Value>=Fields!Address.Value</Value>
</SortExpression>
</SortExpressions>
<TablixMembers>
<TablixMember />
<TablixMember />
</TablixMembers>
<FixedData>true</FixedData>
<KeepTogether>true</KeepTogether>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<KeepTogether>true</KeepTogether>
<DataSetName>CustomerDebtAreaSubportView</DataSetName>
<Filters>
<Filter>
<FilterExpression>=Fields!Area.Value</FilterExpression>
<Operator>Equal</Operator>
<FilterValues>
<FilterValue>=Parameters!Area.Value</FilterValue>
</FilterValues>
</Filter>
</Filters>
<Height>0.38in</Height>
<Width>7in</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>0.38in</Height>
<Style />
</Body>
<ReportParameters>
<ReportParameter Name="Area">
<DataType>String</DataType>
<Prompt>Area</Prompt>
</ReportParameter>
</ReportParameters>
<Width>7in</Width>
<Page>
<PageHeight>11.69in</PageHeight>
<PageWidth>8.27in</PageWidth>
<LeftMargin>0.5in</LeftMargin>
<RightMargin>0.5in</RightMargin>
<TopMargin>0.5in</TopMargin>
<BottomMargin>0.5in</BottomMargin>
<Style />
</Page>
<rd:ReportID>48873c9b-c75e-44e8-8e6d-996c6105c8bd</rd:ReportID>
<rd:ReportUnitType>Inch</rd:ReportUnitType>
</Report>
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: ReportViewer 2010, запретить разбиение на страницы
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, Alexey Axyonov, Вы писали:
Судя по всему с KeepTogether и KeepWithGroup внутри группы Details у MS очень хреново.
Что примечательно в
MSDN слово should выделено большими буквами
The TablixMember.KeepTogether element specifies whether an attempt SHOULD be made to render instances of a TablixMember on a single page. This element is optional and MUST NOT be specified more than once.
If the TablixMember.KeepTogether element is specified, its value MUST be a Boolean [XMLSCHEMA2-3.2.2]. If the value of this element is true, instances of the TablixMember SHOULD be rendered on a single page. If the TablixMember.KeepTogether element is not specified, its value is interpreted as false.
Здесь есть workaround который может быть поможет тебе.
Это все чем я могу помочь.
... << RSDN@Home 1.2.0 alpha 4 rev. 1491>>
Re[6]: ReportViewer 2010, запретить разбиение на страницы
Здравствуйте, Alexey Axyonov, Вы писали:
Большое спасибо!
A journey of a thousand miles must begin with a single step © Lau Tsu
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить