2013-01-22 3 views
0

Каков правильный способ создания отчета с использованием списка настраиваемых объектов? Я пытался добиться этого в течение дня или двух, но ничего не работает. Я создал собственный JRDataSource и фабрику, которая создает такой объект.Использование пользовательского списка объектов в IReport Designer

Вот код DataSource:

public class ViajeDataSource implements JRDataSource 
{ 

private int index; 
private ArrayList<Viaje> viajes; 

public ViajeDataSource() 
{ 
    this.viajes=new ArrayList<>(); 
} 

@Override 
public boolean next() throws JRException 
{ 
    this.index++; 
    return (index<this.viajes.size()); 
} 

@Override 
public Object getFieldValue(JRField jrf) throws JRException 
{ 
    Object value = null; 
    Viaje viaje=this.viajes.get(this.index); 
    if (jrf.getName().equals("FECHA")) 
    { 
     return viaje.getFecha(); 
    } 
    switch(jrf.getName()) 
    { 
     case "FECHA": 
      value=viaje.getFecha(); 
      break; 
     case "NombrePersona": 
      value=viaje.getNombrePersona(); 
      break; 
     case "NombreEmpresa": 
      value=viaje.getNombreEmpresa(); 
      break; 
     case "Observacion": 
      value=viaje.getObservacion(); 
      break; 
     case "Importe": 
      value=viaje.getTarifa(); 
      break; 
     case "Demora": 
      value=viaje.getDemora(); 
      break; 
     case "Total": 
      value=viaje.getTotal(); 
      break; 
     case "Peaje": 
      value=viaje.getPeaje(); 
      break; 
    } 
    return value; 
} 

Обратите внимание на поле с именем FECHA Я добавил следующее выражение в IReport дизайнера: $F{FECHA}, но при предварительном просмотре, среда не говорит нет «FECHA» поле было найдено. Любые идеи почему?

ответ

0

Этот подход работал для меня: Вместо пользовательского источника данных я создал пользовательский dataSourceProvider и выбранный JRDataSource при создании источника данных. Это, объединенное с автономной утилитой IReports, позволило мне составить отчет с образцовыми данными из моей коллекции

Смежные вопросы