ReportViewer 2010, запретить разбиение на страницы
От: adontz Грузия http://adontz.wordpress.com/
Дата: 09.01.11 17:03
Оценка:
Есть ReportViewer 2010, в нём Report, внутри Subreport. Один логический элемент Subreport состоит из нескольких строк. Как запретить вставлять разбиение страницы внутри логического элемента?

IvanIvanov
123-45-67+1 234 567-89-01
PetrPetrovov


123-45-67+1 234 567-89-01
FedorFedorov
123-45-67+1 234 567-89-01

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, запретить разбиение на страницы
От: adontz Грузия http://adontz.wordpress.com/
Дата: 11.01.11 02:48
Оценка:
Здравствуйте, _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, запретить разбиение на страницы
От: Alexey Axyonov Украина  
Дата: 11.01.11 14:38
Оценка:
Здравствуйте, adontz, Вы писали:

A>Есть ReportViewer 2010, в нём Report, внутри Subreport. Один логический элемент Subreport состоит из нескольких строк. Как запретить вставлять разбиение страницы внутри логического элемента?


Не помню точно, но по-моему для этого есть свойство KeepTogether у некоторых элементов (у Rectangle и Table точно есть).
... << RSDN@Home 1.2.0 alpha 4 rev. 1491>>
Re[2]: ReportViewer 2010, запретить разбиение на страницы
От: adontz Грузия http://adontz.wordpress.com/
Дата: 11.01.11 16:06
Оценка:
Здравствуйте, 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, запретить разбиение на страницы
От: Alexey Axyonov Украина  
Дата: 11.01.11 16:48
Оценка:
Здравствуйте, adontz, Вы писали:

A>Да я его нашёл, что-то не работает совсем


Поделись rdlc файлом — попробую поиграться.
... << RSDN@Home 1.2.0 alpha 4 rev. 1491>>
Re[4]: ReportViewer 2010, запретить разбиение на страницы
От: adontz Грузия http://adontz.wordpress.com/
Дата: 11.01.11 17:03
Оценка:
Здравствуйте, 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, запретить разбиение на страницы
От: Alexey Axyonov Украина  
Дата: 11.01.11 18:36
Оценка: 39 (1)
Здравствуйте, 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, запретить разбиение на страницы
От: adontz Грузия http://adontz.wordpress.com/
Дата: 12.01.11 02:03
Оценка:
Здравствуйте, Alexey Axyonov, Вы писали:

Большое спасибо!
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.