|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
Всем привет. Очередной вопрос связанный c iReport. У меня в отчете есть n кол-во ячеек и нужно чтоб ячейка перемещалась влево если предыдущая ячейка пустая или null. Пример. что сейчас имею. |значение1| |значение2| |пусто или null | |значение4| |значение5| |значение6| |пусто или null | |значение8| а нужно чтоб вместо пустой ячейки переместилась ячейка с значением. пример. чего хочу добиться. |значение1| |значение2| |значение4| |значение5| |значение6| |значение8| у кого какие соображения? буду рад принять различные подсказки, предположения. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2012, 18:55 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
rail13, Но уже теперь здесь есть люди, которые желают странного. (Аркадий Стругацкий, Борис Стругацкий. Попытка к бегству) Сдвижку влево я видел только в Table. Когда ставишь условие на столбец (Column Print When). Так как данных несколько строк (? если это так), то наверно для каждой строки можно вызывать сабрепорт, в котором отображается таблица. В сабрепорт передавать параметры: значение1, значение2, и т.д. (текущая запись main отчета). В таблице сабрепорта параметры отображать в Table Header и ставить условие на каждый столбец по соответствующему параметру. А в main вообще не выводить поля. Где-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2012, 11:22 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
sanBez, спасибо за ответ. создал компонент "table" и поместил в поле "summary". Для созданного компонента "table" создал "New Dataset". Далее в "Column Header" поместил шапку будущей таблицы, а в "Detail" поместил поля которые нужно отобразить. Далее для каждой колонки "Detail" в "Column Properties" прописал условие вывода нужного нам поля (Column Print When:$F{field_1}!=null ; $F{field_2}!=null итд) Благодарю за подсказку. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 13:42 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
rail13, Не понял. Можно пару вопросов для уточнения? 1.Как можно ставить условие на столбец в таблице в зависимости от поля, которое в одной строке таблицы может быть null, а в другой, например, 100,25 ? А вы ставите условие на весь столбец. Как оно работает? Вы пробовали тестить, если в столбце разные данные, а не все равны null? Например, первое значение !=null, а второе равно null. 2. Я предполагал, что изначальная задача - отображать несколько строк с разным количеством столбцов. Как пример знач1|знач2|знач4|знач5 (знач3 равно null) зная1|знач5| (знач2,3,4 - три значения равны null) поэтому я писал про сабрепорты, в которых отображается только одна строка. А у вас как я понял один отчет с таблицей без сабрепортов... В этом случае будет прятаться столбец для всех записей... Поясните плиз решение, может пригодится когда-нибудь. P.S. Если я что-то не то написал или где-то ступил, прошу простить. Башка раскалывается. Наверно конец света приходит :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2012, 17:10 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
sanBez, Не понял. Можно пару вопросов для уточнения? 1.Как можно ставить условие на столбец в таблице в зависимости от поля, которое в одной строке таблицы может быть null, а в другой, например, 100,25 ? А вы ставите условие на весь столбец. Как оно работает? Вы пробовали тестить, если в столбце разные данные, а не все равны null? Например, первое значение !=null, а второе равно null. 2. Я предполагал, что изначальная задача - отображать несколько строк с разным количеством столбцов. Как пример знач1|знач2|знач4|знач5 (знач3 равно null) зная1|знач5| (знач2,3,4 - три значения равны null) поэтому я писал про сабрепорты, в которых отображается только одна строка. А у вас как я понял один отчет с таблицей без сабрепортов... В этом случае будет прятаться столбец для всех записей... Поясните плиз решение, может пригодится когда-нибудь. P.S. Если я что-то не то написал или где-то ступил, прошу простить. Башка раскалывается. Наверно конец света приходит :) 1) К чему Вы клоните я понял. Проверял. прописал условие на столбец !=null поставил галочку каждому необходимому полю (Blank when null) Я тоже изначально ожидал, что если в одном столбце появится null и какое нибудь значение (с учетом "Column Print When:$F{field_n}!=null"),то столбец вовсе не отобразится... и вот что у меня получилось. было столбец1|столбец2|столбец4|столбец5|столбец6|столбец7|столбец8|столбец9| наименование1| 465 | null | 87 | null | null | null | null | null | наименование2| 465 | 654 | null | 5 | null | null | null | null | наименование3| null | null | 87 | 5 | null | null | null | 546 | наименование4| 465 | 888 | 87 | 5 | null | null | null | 654 | наименование5| 465 | 999 | null | 5 | null | null | null | 465 | наименование6| 465 | null | 87 | null | null | null | null | 789 | стало столбец1|столбец2|столбец4|столбец5|столбец9| наименование1| 465 | | 87 | | | наименование2| 465 | 654 | | 5 | | наименование3| | | 87 | 5 | 546 | наименование4| 465 | 888 | 87 | 5 | 654 | наименование5| 465 | 999 | | 5 | 465 | наименование6| 465 | | 87 | | 789 | Вроде как работает) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 18:10 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
rail13, Чудяса. У меня был обратный результат на тестовом отчете. Если первое значение было null, то весь столбец прятался. Если по вашему примеру, то четвертого столбца с пятерками (null, 5, 5, 5, null) у меня вообще не было. Налабал я этот отчет быстро, сильно не погружался, может и обдернулся где-то ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 18:24 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
......................столбец1|столбец2|столбец4|столбец5|столбец6|столбец7|столбец8|столбец9| наименование1|465........|null........|87.........|.null........|null.........|nul.........|null........|nul.........| наименование2|465........|654........|null........|.5..........|nul..........|null.........|null........|null........| наименование3|null.... ...|null.........|87.........|.5..........|null..........| null........|null........|546.......| наименование4|465........|888.........|87........|.5..........|null..........|null..........|null........|654.......| наименование5|465........ |.999.......|null.......|.5..........|null..........|null..........|null........|465.......| стало ......................столбец1|столбец2|столбец4|столбец5|столбец9| наименование1| 465.......|............|.....87.....|.............|.............| наименование2| 465.......|654.......|..............|5...........|.............| наименование3|.............|............|87.......... |5...........|546........| наименование4|465........|888.......|87..........|5...........|654.........| наименование5|465........|999.......|..............|5..........|465......... | ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 18:30 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
rail13, Дя я понял, можно было не форматировать. Ну у вас работает и чудненько :). А мне не нужно пока ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 18:34 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
может быть в типах данных все дело? вот у меня "значение_n" тип данных "String". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2012, 18:38 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
rail13, Да пофиг какой тип данных. $F{field_1} != null для каждой записи имеет свое значение. То что оно у вас работает я рассматриваю как случайное попадание в цель. Где гарантия что этот финт будет работать и дальше? Вы можете объяснить принцип по которому оно работает? На основании какой записи происходит проверка на отображение столбца. Встраивать такой код в свое приложение лично я считаю неправильным. Уж тогда $V какую-нибудь заводить и вычислять в expression для нее как $V || $F{filed_1} != null И условие на столбец по этой переменной. Вот это не рухнет. А ваше решение опасно. Я бы так не делал ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 11:23 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
у меня же около 30 столбцов с разными полями (field_1-field_30) и для каждого столбца соответствующее условие печати. для первого столбца 1ый филд с условием, для второго столбца 2ой филд с условием итд. Я похоже не могу уловить мысль, которую Вы хотите до меня донести( Но идея с $V мне понравилась. Спасибо) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 16:07 |
|
iReport. Вопрос знатокам.
|
|||
---|---|---|---|
#18+
rail13, Допустим у нас всего один столбец Я хочу чтобы вы себе задали вопрос: для какого именно значения из пяти отображенных записей (например у вас в одном столбце: null, 5, 5, 5, null) проверяется условие Column Print When $F{filed_1} != null Для первой записи? Для последней? Для каждой? В какой момент работает эта проверка? Если после того как подняты все записи, то как идет проверка по первому значению? Вы точно знаете как отрабатывает эта проверка? Я - нет. Если есть ссылки на доку, где такое описано, ткните меня в них. Или на код jasper'a ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2012, 16:33 |
|
|
start [/forum/topic.php?fid=31&msg=38067912&tid=1534172]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
137ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 235ms |
0 / 0 |