2016-05-27 26 views
0

によってシリーズでBarChartコントロールを実装します。私は日付によってPrimefaces棒グラフにデータを生成したい私はデータベースに保存され、このデータを持っている日

enter image description here

TicketStatusReportObj obj; 
List<TicketStatusReportObj> list = new ArrayList<>(); 
... 
// here we insert days using loop with data from database: 
obj = new TicketStatusReportObj(
        rs.getInt("CNT_STATUS0"), 
        rs.getInt("CNT_STATUS1"), 
        rs.getInt("CNT_STATUS2"), 
        rs.getInt("CNT_STATUS3"), 
        rs.getInt("CNT_STATUS4"), 
        rs.getDate("CREATED") 
       ); 

       list.add(obj); 
... 

    ChartSeries series; 
      for (int i = 0; i < list.size(); i++) 
      { 
       series = new ChartSeries(); 
       TicketStatusReportObj get = list.get(i); 
       int in_progress = get.getIn_progress(); 
       int new_ticket = get.getNew_ticket(); 
       int closed = get.getClosed(); 
       int resolved = get.getResolved(); 
       int rejected = get.getRejected(); 
       Date date = get.getDate(); 

       series.setLabel(date.toString()); 
       series.set(date.toString(), in_progress); 
       series.set(date.toString(), new_ticket); 
       series.set(date.toString(), closed); 
       series.set(date.toString(), resolved); 
       series.set(date.toString(), rejected); 

       barModel.addSeries(series); 
      } 

しかし、私は取得この結果:

enter image description here

あなたが見ることができるように私は1日しかありませんが、私はデータベーステーブルに4日間持っているので、それは4となります。 Primefaces Barチャートで4列の列を使用して4日間を生成する適切な方法はありますか?

+0

をYAaxisのために他のinformationcnt_statutを使用してください –

答えて

1

このコード試してみてください。私は、あなたがあなたのデータベースに多くの情報を持っているので、私はCREATED_DATEを使用することをお勧めX軸のため、折れ線グラフを使用するBarChartコントロール、そのより良いを使用することは不可能だと思うあなたのケースでは

ChartSeries series1 = new ChartSeries(); 
ChartSeries series2 = new ChartSeries(); 
ChartSeries series3 = new ChartSeries(); 
ChartSeries series4 = new ChartSeries(); 
ChartSeries series1 = new ChartSeries(); 
series1.setLabel("In Progress"); 
series2.setLabel("New Ticket"); 
series3.setLabel("Closed"); 
series4.setLabel("Resolved"); 
series5.setLabel("Rejected"); 

for (int i = 0; i < list.size(); i++) 
{ 
    TicketStatusReportObj get = list.get(i); 
    int in_progress = get.getIn_progress(); 
    int new_ticket = get.getNew_ticket(); 
    int closed = get.getClosed(); 
    int resolved = get.getResolved(); 
    int rejected = get.getRejected(); 
    Date date = get.getDate(); 

    series1.set(date, in_progress); 
    series2.set(date, new_ticket); 
    series3.set(date, closed); 
    series4.set(date, resolved); 
    series5.set(date, rejected); 
} 

barModel.addSeries(series1); 
barModel.addSeries(series2); 
barModel.addSeries(series3); 
barModel.addSeries(series4); 
barModel.addSeries(series5); 
+0

ありがとう、それはとてもうまくいっています! –

+0

答えにテキストと説明を追加してください。 – Kukeltje

関連する問題