Note that there are some explanatory texts on larger screens.

plurals
  1. POIssue using Groups: How to set backcolor for specific column when the value is null
    primarykey
    data
    text
    <p>I have a column called <code>totalhours</code> in my report where I want to set back color to <code>yellow</code> when value of column called <code>outtime</code> is <code>null</code>. So for that i have created a conditional style with following details :</p> <pre class="lang-xml prettyprint-override"><code>&lt;style name="TotalHoursBackColor" lineSpacing="Single"&gt; &lt;conditionalStyle&gt; &lt;conditionExpression&gt;&lt;![CDATA[new Boolean($F{Out_time}.equals( null ))]]&gt; &lt;/conditionExpression&gt; &lt;style mode="Opaque" backcolor="#FFFF33" lineSpacing="Single"/&gt; &lt;/conditionalStyle&gt; &lt;/style&gt; </code></pre> <p>The above code gives the following output</p> <pre> SlNo. empid intime outime totalhours 1 100 9:00 13:00 4:00 2 101 9:10 null yellow 3 105 9:30 13:30 14:30 null 4 103 9:30 18:30 9:00 5 107 9:40 13:40 8:00 14:40 18:40 6 108 10:00 null yellow 7 106 10:00 13:00 14:00 null </pre> <p>But, I want the output as follows :</p> <pre> SlNo. empid intime outime totalhours 1 100 9:00 13:00 4:00 2 101 9:10 null yellow 3 105 9:30 13:30 yellow 14:30 null 4 103 9:30 18:30 9:00 5 107 9:40 13:40 8:00 14:40 18:40 6 108 10:00 null yellow 7 106 10:00 13:00 yellow 14:00 null </pre> <p>Please find the jrxml file :</p> <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;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="HRIS Employee Time Sheet" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"&gt; &lt;style name="TotalHoursBackColor" lineSpacing="Single"&gt; &lt;conditionalStyle&gt; &lt;conditionExpression&gt;&lt;![CDATA[new Boolean($F{Out_time}.equals( null ))]]&gt;&lt;/conditionExpression&gt; &lt;style mode="Opaque" backcolor="#FFFF33" lineSpacing="Single"/&gt; &lt;/conditionalStyle&gt; &lt;/style&gt; &lt;parameter name="Date" class="java.sql.Timestamp"&gt; &lt;defaultValueExpression&gt;&lt;![CDATA[]]&gt;&lt;/defaultValueExpression&gt; &lt;/parameter&gt; &lt;queryString&gt; &lt;![CDATA[select hr.EmployeeID,convert(char(5), tr.In_Time, 108) as In_time, convert(char(5), tr.Out_Time, 108) as Out_time, convert(varchar(5), sum(datediff(minute, trr.In_Time, isnull(trr.Out_Time, dateadd(hh, 18, DATEADD(dd, DATEDIFF(dd, 0, trr.In_Time), 0))))) / 60) + ':' + convert(varchar(5),sum(datediff(minute, trr.In_Time, isnull(trr.Out_Time, dateadd(hh, 18, DATEADD(dd, DATEDIFF(dd, 0, trr.In_Time), 0))))) % 60) as TotalHours, hr.FirstName, hr.LastName, hr.EmployeeNo from HR_EMPLOYEES hr Left Join HR_EMPLOYEE_TIMESHEET tr on (hr.EmployeeID=tr.EmployeeID) Left Join HR_EMPLOYEE_TIMESHEET trr on (hr.EmployeeID=trr.EmployeeID) where (trr.In_Time BETWEEN $P{Date} AND DATEADD(DAY, 1, $P{Date}) and tr.In_Time BETWEEN $P{Date} AND DATEADD(DAY, 1, $P{Date})) and hr.locationID=1 group by hr.EmployeeID, tr.In_Time, tr.Out_Time, hr.FirstName, hr.LastName, hr.EmployeeNo, hr.JoiningDate order by hr.JoiningDate ASC]]&gt; &lt;/queryString&gt; &lt;field name="EmployeeID" class="java.lang.Integer"/&gt; &lt;field name="In_time" class="java.lang.String"/&gt; &lt;field name="Out_time" class="java.lang.String"/&gt; &lt;field name="TotalHours" class="java.lang.String"/&gt; &lt;field name="FirstName" class="java.lang.String"/&gt; &lt;field name="LastName" class="java.lang.String"/&gt; &lt;field name="EmployeeNo" class="java.lang.String"/&gt; &lt;variable name="counter" class="java.lang.Integer" incrementType="Group" incrementGroup="EmployeeSerialNumber"&gt; &lt;variableExpression&gt;&lt;![CDATA[($V{EmployeeSerialNumber_COUNT} == 1) ? $V{counter} + 1 : $V{counter}]]&gt;&lt;/variableExpression&gt; &lt;initialValueExpression&gt;&lt;![CDATA[0]]&gt;&lt;/initialValueExpression&gt; &lt;/variable&gt; &lt;variable name="outtime_check" class="java.lang.Boolean" incrementType="Group" incrementGroup="EmployeeOutTime"&gt; &lt;variableExpression&gt;&lt;![CDATA[($F{Out_time}.equals(null)&amp;&amp; $V{EmployeeSerialNumber_COUNT}==1)?$V{outtime_check}:$F{TotalHours}]]&gt;&lt;/variableExpression&gt; &lt;/variable&gt; &lt;group name="EmployeeSerialNumber"&gt; &lt;groupExpression&gt;&lt;![CDATA[$F{EmployeeNo}]]&gt;&lt;/groupExpression&gt; &lt;/group&gt; &lt;group name="EmployeeOutTime"&gt; &lt;groupExpression&gt;&lt;![CDATA[$F{Out_time}]]&gt;&lt;/groupExpression&gt; &lt;/group&gt; &lt;background&gt; &lt;band splitType="Stretch"/&gt; &lt;/background&gt; &lt;title&gt; &lt;band height="79" splitType="Stretch"&gt; &lt;image&gt; &lt;reportElement x="466" y="19" width="89" height="32"/&gt; &lt;imageExpression class="java.lang.String"&gt;&lt;![CDATA["D:\\timesheet\\logo.png"]]&gt;&lt;/imageExpression&gt; &lt;/image&gt; &lt;/band&gt; &lt;/title&gt; &lt;pageHeader&gt; &lt;band height="38" splitType="Stretch"&gt; &lt;staticText&gt; &lt;reportElement x="125" y="0" width="204" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"&gt; &lt;font size="12" isBold="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Employee Time Sheet - Bangalore]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;textField pattern="dd MMMMM yyyy"&gt; &lt;reportElement x="455" y="-2" width="100" height="18"/&gt; &lt;textElement lineSpacing="Single"&gt; &lt;font size="12" isBold="true"/&gt; &lt;/textElement&gt; &lt;textFieldExpression class="java.sql.Timestamp"&gt;&lt;![CDATA[$P{Date}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;/band&gt; &lt;/pageHeader&gt; &lt;columnHeader&gt; &lt;band height="31" splitType="Stretch"&gt; &lt;staticText&gt; &lt;reportElement x="155" y="7" width="100" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"&gt; &lt;font isBold="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Name]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="293" y="7" width="86" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"&gt; &lt;font isBold="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[In Time]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="385" y="7" width="76" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"&gt; &lt;font isBold="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Out Time]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;staticText&gt; &lt;reportElement x="474" y="7" width="59" height="20"/&gt; &lt;textElement textAlignment="Left" lineSpacing="Single"&gt; &lt;font isBold="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Total Hours ]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;line&gt; &lt;reportElement x="54" y="1" width="1" height="29"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="466" y="2" width="1" height="29"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="14" y="1" width="527" height="1"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="289" y="1" width="1" height="29"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="380" y="2" width="1" height="28"/&gt; &lt;/line&gt; &lt;staticText&gt; &lt;reportElement x="57" y="7" width="67" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"&gt; &lt;font size="10" isBold="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Employee No.]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;line&gt; &lt;reportElement x="128" y="2" width="1" height="28"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="430" y="30" width="111" height="1"/&gt; &lt;/line&gt; &lt;staticText&gt; &lt;reportElement x="20" y="7" width="30" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"&gt; &lt;font size="10" isBold="true"/&gt; &lt;/textElement&gt; &lt;text&gt;&lt;![CDATA[Sl No.]]&gt;&lt;/text&gt; &lt;/staticText&gt; &lt;line&gt; &lt;reportElement x="14" y="2" width="1" height="29"/&gt; &lt;/line&gt; &lt;/band&gt; &lt;/columnHeader&gt; &lt;detail&gt; &lt;band height="22" splitType="Stretch"&gt; &lt;line&gt; &lt;reportElement x="54" y="0" width="1" height="22"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="466" y="0" width="1" height="22"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="13" y="-1" width="416" height="1"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="14" y="21" width="415" height="1"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="541" y="-29" width="1" height="50"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="289" y="0" width="1" height="21"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="380" y="-1" width="1" height="22"/&gt; &lt;/line&gt; &lt;textField&gt; &lt;reportElement isPrintRepeatedValues="false" x="68" y="1" width="44" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"&gt; &lt;font isBold="false"/&gt; &lt;/textElement&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{EmployeeNo}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField&gt; &lt;reportElement isPrintRepeatedValues="false" x="134" y="1" width="148" height="20"/&gt; &lt;textElement textAlignment="Left" lineSpacing="Single"/&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{FirstName} + " " + $F{LastName}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;line&gt; &lt;reportElement x="128" y="0" width="1" height="22"/&gt; &lt;/line&gt; &lt;line&gt; &lt;reportElement x="430" y="21" width="111" height="1"/&gt; &lt;/line&gt; &lt;textField&gt; &lt;reportElement x="293" y="1" width="76" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"/&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{In_time}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField pattern="" isBlankWhenNull="true"&gt; &lt;reportElement mode="Transparent" x="384" y="1" width="76" height="20"/&gt; &lt;textElement textAlignment="Center" lineSpacing="Single"/&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{Out_time}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField&gt; &lt;reportElement style="TotalHoursBackColor" isPrintRepeatedValues="false" x="477" y="1" width="62" height="20"/&gt; &lt;textElement textAlignment="Left" lineSpacing="Single"/&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[$F{TotalHours}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;line&gt; &lt;reportElement x="14" y="1" width="1" height="20"/&gt; &lt;/line&gt; &lt;textField&gt; &lt;reportElement isPrintRepeatedValues="false" x="24" y="2" width="25" height="19"&gt; &lt;printWhenExpression&gt;&lt;![CDATA[$V{EmployeeSerialNumber_COUNT}==1]]&gt;&lt;/printWhenExpression&gt; &lt;/reportElement&gt; &lt;textElement lineSpacing="Single"/&gt; &lt;textFieldExpression class="java.lang.Integer"&gt;&lt;![CDATA[$V{counter}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;/band&gt; &lt;/detail&gt; &lt;columnFooter&gt; &lt;band height="45" splitType="Stretch"/&gt; &lt;/columnFooter&gt; &lt;pageFooter&gt; &lt;band height="54" splitType="Stretch"&gt; &lt;textField&gt; &lt;reportElement x="435" y="34" width="80" height="20"/&gt; &lt;textElement textAlignment="Right" lineSpacing="Single"/&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;textField evaluationTime="Report"&gt; &lt;reportElement x="515" y="34" width="40" height="20"/&gt; &lt;textElement lineSpacing="Single"/&gt; &lt;textFieldExpression class="java.lang.String"&gt;&lt;![CDATA[" " + $V{PAGE_NUMBER}]]&gt;&lt;/textFieldExpression&gt; &lt;/textField&gt; &lt;/band&gt; &lt;/pageFooter&gt; &lt;summary&gt; &lt;band height="41" splitType="Stretch"/&gt; &lt;/summary&gt; &lt;/jasperReport&gt; </code></pre> <p>Could anybody please help me how to get it</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload