2015-10-27 3 views
2

мне нужно распечатать всю карту по jasperreportпечати Вся HashMap по jasperreport

Пример:

Column1 Column2 

key1  val1 

key2  val2 

key2  val2 

Что источник данных должен быть выбран?

Что должно содержать источник отчета?

PS: Я не хочу, чтобы получить значения непосредственно как $ P {key11}

ответ

1

Я хотел бы попробовать что-то вроде этого

Map<String,Object> map = new HashMap<String,Object>(); 
//your map values.... 
Set<Entry<String,Object>> set = map.entrySet(); 
JRBeanCollectionDataSource bds = new JRBeanCollectionDataSource(set); 

в яшмы сообщают ваши поля будут

<field name="key" class="java.lang.String"/> 
<field name="value" class="java.lang.Object"/> 

Примечание: Как я использую bean Map.EntrygetKey() и getValue() для создания моего источника данных

Значения не будут отсортированы, если вы хотите их отсортировать, просто введите Comparator и используйте Collections.

List<Entry<String, Object>> list = new ArrayList<Entry<String, Object>>(); 
    list.addAll(set); 
    Collections.sort(list, new Comparator<Entry<String, Object>>() { 
     @Override 
     public int compare(Entry<String, Object> o1, Entry<String, Object> o2) { 
      // TODO Implement you sorting 
      return 0; 
     } 
    }); 
    JRBeanCollectionDataSource bdsSorted = new JRBeanCollectionDataSource(list); 
Смежные вопросы