ireport報表三

/**
 * 報表的基本數據來源 
 * 
 * 設置field對應的字段值
 * 
 */

@Service("reportBaseDataService")
public  class ReportBaseDataService extends ReportBaseService{
	
	//數據源的接口
	@Resource
	private IHrReportService hrReportService;

	@Override
	public  Object[][] getReportBaseDataService(String Id) {
		
		//調用接口服務的方法
		List<Report>  list = hrReportService.getReportList( Integer.parseInt(Id));
		
		if(list!=null && list.size()>0){
			
			Object[][] tmp=new Object[list.size()][];
			
			int index=0;
			
			for(Report q :list){
				
				//q.toArray()實體類的數組
				
				tmp[index++] = q.toArray();
			}
			
			this.setData(tmp);
			 
			return this.getData();
		}else{
			
		Object[][] tmp={{"",""}};
		
			this.setData(tmp);
			
			return this.getData();
		}
	}
	
	
	/**
	 * 重寫方法
	 * 
	 */
	@Override
	public Object getFieldValue(JRField field) throws JRException {
		// TODO Auto-generated method stub
		
		Object value = null;
		
		String fieldName = field.getName();
		
		Object[][] data=this.getData();
		
		//對應的字段 fieldName表示jrxml的field
		
		if ("rone".equals(fieldName))
		{
			value = data[index][0];
		}
		else if ("rtwo".equals(fieldName))
		{
			value = data[index][1];
		}
		return value;
	}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章