Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / iReport. Параметризованный condition style. Как сделать и вообще это возможно? / 1 сообщений из 1, страница 1 из 1
12.04.2012, 16:56
    #37750921
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iReport. Параметризованный condition style. Как сделать и вообще это возможно?
Hi, All! то бишь здрасьте

Суть проблемы: в отчете в зависимости от признака качества поля оно подсвечивается разным цветом.
В том варианте, который я сделал используется свой стиль для каждого поля. Стили абсолютно одинаковые.
Как я могу сделать один стиль и передавать ему в качестве параметра это поле?
Ну в текущем отчете два поля, а в следующем их 15 штук. И что 15 раз один стиль описывать?
Должно же быть решение... Или я что-то в condition style не понимаю...

Буду благодарен за любые дельные советы.
Безадресно на jasperforge не посылать, и так оттуда не вылезаю :)

JR v4.1.2 dataSource формирую через JRBeanCollectionDataSource


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="r1120_aqua" pageWidth="802" pageHeight="802" orientation="Landscape" columnWidth="802" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" isIgnorePagination="true">
	<property name="ireport.zoom" value="1.0"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<style name="F1Style" mode="Transparent">
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F1}.getCode() == 124]]></conditionExpression>
			<style mode="Transparent" backcolor="#E75480" pattern=""/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F1}.getCode()==1]]></conditionExpression>
			<style mode="Transparent" backcolor="#E6E6FA"/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F1}.getCode()==0]]></conditionExpression>
			<style mode="Transparent" backcolor="#FBEC5D"/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F1}.getCode()==-1]]></conditionExpression>
			<style mode="Transparent" backcolor="#E6E6FA"/>
		</conditionalStyle>
	</style>
	<style name="F2Style" mode="Transparent">
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F2}.getCode() == 124]]></conditionExpression>
			<style mode="Transparent" backcolor="#E75480" pattern=""/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F2}.getCode()==1]]></conditionExpression>
			<style mode="Transparent" backcolor="#E6E6FA"/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F2}.getCode()==0]]></conditionExpression>
			<style mode="Transparent" backcolor="#FBEC5D"/>
		</conditionalStyle>
		<conditionalStyle>
			<conditionExpression><![CDATA[$P{color} && $F{F2}.getCode()==-1]]></conditionExpression>
			<style mode="Transparent" backcolor="#E6E6FA"/>
		</conditionalStyle>
	</style>
	<parameter name="color" class="java.lang.Boolean"/>
	<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
		<defaultValueExpression><![CDATA["E:\\Work\\Repository\\repMiniASCUE\\main\\Project\\Reports\\reports\\"]]></defaultValueExpression>
	</parameter>
	<field name="prevDate" class="java.util.Date"/>
	<field name="currentDate" class="java.util.Date"/>
	<field name="F1" class="ru.rtec.reports.miniascue.r1120.MeasureQualityInfo">
		<fieldDescription><![CDATA[]]></fieldDescription>
	</field>
	<field name="F2" class="ru.rtec.reports.miniascue.r1120.MeasureQualityInfo"/>
	<background>
		<band splitType="Stretch"/>
	</background>
	<columnHeader>
		<band height="40" splitType="Stretch">
			<staticText>
				<reportElement mode="Opaque" x="90" y="0" width="100" height="40"/>
				<box>
					<pen lineWidth="0.5" lineStyle="Solid"/>
					<topPen lineWidth="0.5" lineStyle="Solid"/>
					<leftPen lineWidth="0.5" lineStyle="Solid"/>
					<bottomPen lineWidth="0.5" lineStyle="Solid"/>
					<rightPen lineWidth="0.5" lineStyle="Solid"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None">
					<font fontName="DejaVu Sans" size="12" isBold="true"/>
				</textElement>
				<text><![CDATA[Time]]></text>
			</staticText>
			<staticText>
				<reportElement mode="Opaque" x="0" y="0" width="90" height="40" forecolor="#000000" backcolor="#FFFFFF"/>
				<box>
					<pen lineWidth="0.5" lineStyle="Solid"/>
					<topPen lineWidth="0.5" lineStyle="Solid"/>
					<leftPen lineWidth="0.5" lineStyle="Solid"/>
					<bottomPen lineWidth="0.5" lineStyle="Solid"/>
					<rightPen lineWidth="0.5" lineStyle="Solid"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None" markup="none">
					<font fontName="DejaVu Sans" size="12" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
					<paragraph lineSpacing="Single"/>
				</textElement>
				<text><![CDATA[Date]]></text>
			</staticText>
			<staticText>
				<reportElement x="496" y="0" width="116" height="40"/>
				<box>
					<pen lineWidth="0.5" lineStyle="Solid"/>
					<topPen lineWidth="0.5" lineStyle="Solid"/>
					<leftPen lineWidth="0.5" lineStyle="Solid"/>
					<bottomPen lineWidth="0.5" lineStyle="Solid"/>
					<rightPen lineWidth="0.5" lineStyle="Solid"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None">
					<font fontName="DejaVu Sans" size="12" isBold="true"/>
				</textElement>
				<text><![CDATA[Field2]]></text>
			</staticText>
			<staticText>
				<reportElement x="190" y="0" width="116" height="40"/>
				<box>
					<pen lineWidth="0.5" lineStyle="Solid"/>
					<topPen lineWidth="0.5" lineStyle="Solid"/>
					<leftPen lineWidth="0.5" lineStyle="Solid"/>
					<bottomPen lineWidth="0.5" lineStyle="Solid"/>
					<rightPen lineWidth="0.5" lineStyle="Solid"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None">
					<font fontName="DejaVu Sans" size="12" isBold="true"/>
				</textElement>
				<text><![CDATA[Field1]]></text>
			</staticText>
			<staticText>
				<reportElement x="306" y="0" width="190" height="40"/>
				<box>
					<pen lineWidth="0.5" lineStyle="Solid"/>
					<topPen lineWidth="0.5" lineStyle="Solid"/>
					<leftPen lineWidth="0.5" lineStyle="Solid"/>
					<bottomPen lineWidth="0.5" lineStyle="Solid"/>
					<rightPen lineWidth="0.5" lineStyle="Solid"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None">
					<font fontName="DejaVu Sans" size="12" isBold="true"/>
				</textElement>
				<text><![CDATA[Field1 Quality]]></text>
			</staticText>
			<staticText>
				<reportElement x="612" y="0" width="190" height="40"/>
				<box>
					<pen lineWidth="0.5" lineStyle="Solid"/>
					<topPen lineWidth="0.5" lineStyle="Solid"/>
					<leftPen lineWidth="0.5" lineStyle="Solid"/>
					<bottomPen lineWidth="0.5" lineStyle="Solid"/>
					<rightPen lineWidth="0.5" lineStyle="Solid"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None">
					<font fontName="DejaVu Sans" size="12" isBold="true"/>
				</textElement>
				<text><![CDATA[Field2 Quality]]></text>
			</staticText>
		</band>
	</columnHeader>
	<detail>
		<band height="20" splitType="Stretch">
			<textField isStretchWithOverflow="true" pattern="HH:mm" isBlankWhenNull="false">
				<reportElement x="90" y="0" width="45" height="20"/>
				<box rightPadding="0">
					<pen lineWidth="0.5"/>
					<topPen lineWidth="0.5"/>
					<leftPen lineWidth="0.5"/>
					<bottomPen lineWidth="0.5"/>
					<rightPen lineWidth="0.0"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font fontName="DejaVu Sans" size="12"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{prevDate}]]></textFieldExpression>
			</textField>
			<textField isStretchWithOverflow="true" pattern="dd.MM.yyyy" isBlankWhenNull="false">
				<reportElement x="0" y="0" width="90" height="20"/>
				<box>
					<pen lineWidth="0.5"/>
					<topPen lineWidth="0.5"/>
					<leftPen lineWidth="0.5"/>
					<bottomPen lineWidth="0.5"/>
					<rightPen lineWidth="0.5"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font fontName="DejaVu Sans" size="12"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{currentDate}]]></textFieldExpression>
			</textField>
			<staticText>
				<reportElement mode="Transparent" x="135" y="0" width="10" height="20" forecolor="#000000"/>
				<box>
					<topPen lineWidth="0.5"/>
					<bottomPen lineWidth="0.5"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None" markup="none">
					<font fontName="DejaVu Sans" size="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
					<paragraph lineSpacing="Single"/>
				</textElement>
				<text><![CDATA[-]]></text>
			</staticText>
			<textField isStretchWithOverflow="true" pattern="HH:mm" isBlankWhenNull="false">
				<reportElement x="145" y="0" width="45" height="20"/>
				<box>
					<pen lineWidth="0.5"/>
					<topPen lineWidth="0.5"/>
					<leftPen lineWidth="0.0"/>
					<bottomPen lineWidth="0.5"/>
					<rightPen lineWidth="0.5"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle">
					<font fontName="DejaVu Sans" size="12"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{currentDate}]]></textFieldExpression>
			</textField>
			<textField isStretchWithOverflow="true" isBlankWhenNull="true">
				<reportElement style="F1Style" mode="Opaque" x="306" y="0" width="190" height="20" forecolor="#000000">
					<property name="Backcolor" value="#E75480"/>
				</reportElement>
				<box>
					<pen lineWidth="0.5"/>
					<topPen lineWidth="0.5"/>
					<leftPen lineWidth="0.5"/>
					<bottomPen lineWidth="0.5"/>
					<rightPen lineWidth="0.5"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None" markup="none">
					<font fontName="DejaVu Sans" size="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
					<paragraph lineSpacing="Single"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{F1}.getQualityText()]]></textFieldExpression>
			</textField>
			<textField pattern="###0.00" isBlankWhenNull="true">
				<reportElement style="F1Style" positionType="Float" stretchType="RelativeToTallestObject" mode="Opaque" x="190" y="0" width="116" height="20" forecolor="#000000"/>
				<box>
					<pen lineWidth="0.5"/>
					<topPen lineWidth="0.5"/>
					<leftPen lineWidth="0.5"/>
					<bottomPen lineWidth="0.5"/>
					<rightPen lineWidth="0.5"/>
				</box>
				<textElement textAlignment="Right" verticalAlignment="Middle" rotation="None" markup="none">
					<font fontName="DejaVu Sans" size="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
					<paragraph lineSpacing="Single"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{F1}.getMeasure().getValue()]]></textFieldExpression>
			</textField>
			<textField pattern="###0.00" isBlankWhenNull="true">
				<reportElement style="F2Style" positionType="Float" stretchType="RelativeToTallestObject" mode="Opaque" x="496" y="0" width="116" height="20" forecolor="#000000"/>
				<box>
					<pen lineWidth="0.5"/>
					<topPen lineWidth="0.5"/>
					<leftPen lineWidth="0.5"/>
					<bottomPen lineWidth="0.5"/>
					<rightPen lineWidth="0.5"/>
				</box>
				<textElement textAlignment="Right" verticalAlignment="Middle" rotation="None" markup="none">
					<font fontName="DejaVu Sans" size="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
					<paragraph lineSpacing="Single"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{F2}.getMeasure().getValue()]]></textFieldExpression>
			</textField>
			<textField isStretchWithOverflow="true" isBlankWhenNull="true">
				<reportElement style="F2Style" mode="Opaque" x="612" y="0" width="190" height="20" forecolor="#000000">
					<property name="Backcolor" value="#E75480"/>
				</reportElement>
				<box>
					<pen lineWidth="0.5"/>
					<topPen lineWidth="0.5"/>
					<leftPen lineWidth="0.5"/>
					<bottomPen lineWidth="0.5"/>
					<rightPen lineWidth="0.5"/>
				</box>
				<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None" markup="none">
					<font fontName="DejaVu Sans" size="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfFontName="Helvetica" pdfEncoding="Cp1252" isPdfEmbedded="false"/>
					<paragraph lineSpacing="Single"/>
				</textElement>
				<textFieldExpression><![CDATA[$F{F2}.getQualityText()]]></textFieldExpression>
			</textField>
		</band>
	</detail>
	<summary>
		<band height="20"/>
	</summary>
</jasperReport>


...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / iReport. Параметризованный condition style. Как сделать и вообще это возможно? / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]