Сброс нумерации строк

Обсуждение Stimulsoft BI Designer
devoid
Сообщения: 45
Зарегистрирован: 12 авг 2011, 07:13

Сброс нумерации строк

Сообщение devoid »

Добрый день!
Столкнулись с проблемой нумерации строк, которые получаем при считывании данных их xml. К примеру, у нас приходит в узле 50 записей, на странице отчета, у нас должно отображаться всегда 20 записей, т.е. из 50-ти, печатаем первые 20 на одной странице, остальные, печатаем на следующей, и т.д. Но, нам нужно сбрасывать номер печатающейся строки с новой страницы, т.е. на странице 1 печатаются первые 20 записей, под номерами 1-20, на странице 2 печатаются следующие 20 записей, под номерами 1-20, и т.д. Сейчас у нас печатается номер строки без сброса с помощью {LineThrough}. Возможности сбросить номера строк не нашли, есть ли вообще такое?
Aleksey
Сообщения: 2967
Зарегистрирован: 22 апр 2010, 06:57

Re: Сброс нумерации строк

Сообщение Aleksey »

Здравствуйте,

Можно использовать следующее выражение:
{(Line - 1) % 20 + 1}

Спасибо.
devoid
Сообщения: 45
Зарегистрирован: 12 авг 2011, 07:13

Re: Сброс нумерации строк

Сообщение devoid »

Спасибо, такой вариант подходит.

Возник еще один вопрос. В xml с данными у нас имеется несколько узлов с одинаковым названием(Узел1 в примере), и каждый из них содержит разные данные. Нам необходимо их различать и печатать первый на первой странице, второй на второй странице и т.д. Проблема в том, что у них нет никаких отличий. Имеется ли возможность задать переменные или как то по другому выводить их отдельно? Сейчас они считываются как один узел с данными, и все печатается по порядку друг за другом без разделения. Для примера, как выглядит это в xml:
Пример.txt
(1.28 КБ) 12 скачиваний
Aleksey
Сообщения: 2967
Зарегистрирован: 22 апр 2010, 06:57

Re: Сброс нумерации строк

Сообщение Aleksey »

Здравствуйте,

Вышлите пример отчета с тестовыми данными для анализа.

Спасибо.
devoid
Сообщения: 45
Зарегистрирован: 12 авг 2011, 07:13

Re: Сброс нумерации строк

Сообщение devoid »

Тут пример отчета, и два xml, в одном из них как раз два блока с данными, которые нужно разделить (на скриншотах указано).
Я понимаю, что первую строку он считает не как начало узла, а как пустую строку, и поэтому выводит сначала пустые ячейки, но в случае такого разделения данных в xml, есть возможность разделить данные? Условие для данного документа следующее: на странице должно всегда печататься 8 блоков (в каждом по три строки: номер, сумма, сумма), если строк больше 8 в одном узле, то они переносятся на следующую страницу, если они заканчиваются на середине, то допечатываются пустые блоки со строками (т.е. всегда получает 8 блоков). Нумерация на каждой странице от 01 до 08 (вне зависимости от кол-ва записей). Если у нас два узла, как в одном из xml (на скриншоте есть), то как только на странице 1 напечатаются 7 блоков с данными + 1 пустой, следующие должны напечататься на странице 2, тоже 7 блоков с данными + 1 пустой
Пример.zip
(85.5 КБ) 13 скачиваний
devoid
Сообщения: 45
Зарегистрирован: 12 авг 2011, 07:13

Re: Сброс нумерации строк

Сообщение devoid »

Aleksey писал(а): 17 фев 2025, 21:26 Здравствуйте,

Можно использовать следующее выражение:
{(Line - 1) % 20 + 1}

Спасибо.
Данная нумерация ломается, если у бенда с данными установить Разрыв страницы или колонки - Новая страница до, но ломается только на первой странице, далее работает корректно.
devoid
Сообщения: 45
Зарегистрирован: 12 авг 2011, 07:13

Re: Сброс нумерации строк

Сообщение devoid »

devoid писал(а): 19 фев 2025, 11:21 Тут пример отчета, и два xml, в одном из них как раз два блока с данными, которые нужно разделить (на скриншотах указано).
Я понимаю, что первую строку он считает не как начало узла, а как пустую строку, и поэтому выводит сначала пустые ячейки, но в случае такого разделения данных в xml, есть возможность разделить данные? Условие для данного документа следующее: на странице должно всегда печататься 8 блоков (в каждом по три строки: номер, сумма, сумма), если строк больше 8 в одном узле, то они переносятся на следующую страницу, если они заканчиваются на середине, то допечатываются пустые блоки со строками (т.е. всегда получает 8 блоков). Нумерация на каждой странице от 01 до 08 (вне зависимости от кол-ва записей). Если у нас два узла, как в одном из xml (на скриншоте есть), то как только на странице 1 напечатаются 7 блоков с данными + 1 пустой, следующие должны напечататься на странице 2, тоже 7 блоков с данными + 1 пустой Пример.zip
Эта проблема решена
Aleksey
Сообщения: 2967
Зарегистрирован: 22 апр 2010, 06:57

Re: Сброс нумерации строк

Сообщение Aleksey »

Здравствуйте,

Попроьуйте задать свойство DoublePass для отчета.

Спасибо.
devoid
Сообщения: 45
Зарегистрирован: 12 авг 2011, 07:13

Re: Сброс нумерации строк

Сообщение devoid »

Еще возник такой вопрос, у отчете необходимо настроить именно отображение страниц в определенном порядке. К примеру, в том отчете, что в архиве, есть лист 1 и лист 2. Лист 1 печатается 2 раза, лист 2 печатается 4 раза. Если смотреть по xml, данные на листе 2 разделяются следующим образом: первые два это к листу 1 (1), следующие два к листу 1(2). Нужно сделать так, чтобы сначала печатался Лист 1 и потом два Листа 2 к нему, и потом уже следующий Лист 1 и к нему два Листа 2. Пример: Лист 1 Лист 2 Лист 2, Лист 1 Лист 2 Лист 2. Такое можно сделать, и если да, то каким образом?
Пример1.zip
(1.03 МБ) 1 скачивание
Aleksey
Сообщения: 2967
Зарегистрирован: 22 апр 2010, 06:57

Re: Сброс нумерации строк

Сообщение Aleksey »

Здравствуйте,

Высланные данные не соответсвуют тому что используются в отчете.

> Такое можно сделать, и если да, то каким образом?

Только из кода, сформировать отчет и потом уже в построенном отчете (report.RenderedPages) рассортировать страницы как вам надо.

Спасибо.
Ответить