0
sub-report
에 textField
및 image
필드가 나란히 있습니다. 이미지가 없으면 텍스트 필드의 내용을 수평으로 이동하려고합니다. 어떤 이미지가없는 경우가로 빈 공간 제거
나는 이미지 대신 textField
을 이동하려는.
sub-report
에 textField
및 image
필드가 나란히 있습니다. 이미지가 없으면 텍스트 필드의 내용을 수평으로 이동하려고합니다. 어떤 이미지가없는 경우가로 빈 공간 제거
나는 이미지 대신 textField
을 이동하려는.
시도해보십시오.
public JasperDesign setImage(Boolean isImageAvailable) throws JRException {
JasperDesign jasperDesign = new JasperDesign();
jasperDesign.setName("NoXmlDesignReport");
jasperDesign.setPageWidth(595);
jasperDesign.setPageHeight(842);
jasperDesign.setColumnWidth(515);
jasperDesign.setColumnSpacing(0);
jasperDesign.setLeftMargin(40);
jasperDesign.setRightMargin(40);
jasperDesign.setTopMargin(20);
jasperDesign.setBottomMargin(20);
JRDesignBand band = new JRDesignBand();
band.setHeight(200);
JRDesignTextField textField = new JRDesignTextField();
textField.setX(350);//Your desired x position when image is not available.
textField.setY(0);//Your desired y position when image is not available.
textField.setWidth(100);
textField.setHeight(20);
textField.setStyle(normalStyle);
textField.setStretchWithOverflow(true);
textField.setPositionType(PositionTypeEnum.FLOAT);
textField.setBlankWhenNull(true);
JRDesignExpression expression = new JRDesignExpression();
expression.setText("$F{" + fieldName + "}");
textField.setExpression(expression);
if(isImageAvailable) {
JRDesignImage jrDesignImage = new JRDesignImage(jasperDesign);
expression = new JRDesignExpression();
expression.setText("\"/path/to/image.png\"");
jrDesignImage.setExpression(expression);
jrDesignImage.setHorizontalAlignment(HorizontalAlignEnum.LEFT);
jrDesignImage.setX(400);
jrDesignImage.setY(25);
jrDesignImage.setWidth(93);
jrDesignImage.setHeight(100);
jrDesignImage.setScaleImage(ScaleImageEnum.RETAIN_SHAPE);
band.addElement(jrDesignImage);
textField.setX(10);//Your desired x position when image is available.
textField.setY(0);//Your desired y position when image is available.
}
band.addElement(textField);
jasperDesign.setTitle(band);
return jasperDesign;
}
코딩 즐기기.
코드를위한 고맙습니다 곧 다시 시도해 보겠습니다 ... – Abs
동적으로 처리 할 수 있습니다. – user1791574
설명해 주시겠습니까? – Abs