ダイアログ設定6.2.2データを示していないだろうスタジオは2つのフィールドが読み取られていることを示しています(これは実際にDBに対してクエリをテストしたときに1つにする必要があります)が、データはまったく表示されません。データは、Jaspersoft Studioので、私はJaspersoft Studioのデータ設定ダイアログで、突然、次の問題に直面している
第二:はKN_Perzentileが見つからないフィールドと言って、エラーが発生した他のクエリを実行しています!このフィールドは、2番目のクエリではまったく尋ねられません!
両方のクエリがデータベースに対してテストされ、正しい。私は1つのプロジェクトにしかこれらの問題がありません。
変数vVisualは、データベースから値を読み取る必要があります。ビルドパスにあるjavaクラスは、変数を読み込んでチャートを作成するために使用する必要があります。しかし、データはグラフに追加されません。ジャスパーがKN_Perzentileを読んでいないからです。 このgenarating後= 0のVisual Basicでのチャートである。 ここではjrxmlです:
<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="JFreeReport" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="1edc4d15-06d0-46cf-8d57-179fd0bed566">
<scriptlet name="BoxPlotScript" class="testProjektIman.toc.JFreeChartScriptlet"/>
<queryString>
<![CDATA[select KN_Perzentile from "Kennzahl" where KN_ID = 215 and KN_RefWert1 = 8.3
]]>
</queryString>
<field name="KN_Perzentile" class="java.lang.Double"/>
<variable name="Pie" class="net.sf.jasperreports.engine.JRRenderable" calculation="System">
<variableExpression><![CDATA[$V{Pie}]]></variableExpression>
<initialValueExpression><![CDATA[$V{Pie}]]></initialValueExpression>
</variable>
<variable name="vVisual" class="java.lang.Double" calculation="First">
<variableExpression><![CDATA[$F{KN_Perzentile}]]></variableExpression>
<initialValueExpression><![CDATA[$F{KN_Perzentile}]]> </initialValueExpression>
</variable>
<detail>
<band height="290" splitType="Stretch">
<image scaleImage="Clip" hAlign="Center">
<reportElement x="60" y="50" width="440" height="215" uuid="60c9de91-e7ad-4ffb-81fd-109a381532b6"/>
<imageExpression><![CDATA[$V{Pie}]]></imageExpression>
</image>
</band>
</detail>
</jasperReport>
Javaクラス:私は見ていない
public class JFreeChartScriptlet extends JRDefaultScriptlet
{
@Override
public void afterReportInit() throws JRScriptletException {
Double testVb = 0.0;
DefaultPieDataset dataset = new DefaultPieDataset();
testVb = (Double) this.getVariableValue("vVisual");
dataset.setValue("Java", new Double(43.2));
dataset.setValue("Visual Basic", testVb);
dataset.setValue("C/C++", new Double(17.5));
dataset.setValue("PHP", new Double(32.5));
dataset.setValue("Perl", new Double(1.0));
JFreeChart chart =
ChartFactory.createPieChart3D(
"Pie Chart 3D Demo 1",
dataset,
true,
true,
false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setStartAngle(290);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.5f);
plot.setNoDataMessage("No data to display");
this.setVariableValue("Pie", new JCommonDrawableRenderer(chart));
}
}
私はJavaクラスを更新して入れました。 vVisualはDBから値を取得することになっており、Javaクラスはこの値を渡して円グラフを描画するために使用します – Iman