#TIBCO Jaspersoft report Table사용방법 / 리스트변수 반복출력방법
1. 우측상단 palette에서 Table을 클릭하고 원하는곳을 클릭하면 위와같은 테이블생성창이 보입니다.
dataset을 먼저 만들어줄수도 있지만 일단 없다치고 create a table using a new dataset을 선택하고
Next를 눌러줍시다.
2. Dataset의 이름을 입력해줍니다. 여기서 이름은 레포트로 보낼 vo(object) 또는 map에 담아서 넘길 list의 변수명입니다.
예를들어
public class ExampleVo {
List<SampleVo> minList = new List<SampleVo>();
}
위코드에서 minList가 Dataset의 이름이라고 보시면 됩니다.
3. 이부분은 정확하게 어떤역할을 하는건지 모르겠지만 어떤 라이브러리나 커넥션을 사용하겠다 라고 설정하는 부분인것 같습니다.
Use a JRDatasource expression을 선택하고 Finish를 클릭합니다.
여기서 텍스트박스의 내용은 수정될겁니다. 저대로 하면 안되더라구요..
4. 생성하면 위와같은 그림이 만들어집니다.
저 그림(테이블)을 더블클릭하면 테이블만을 위한 수정공간(?)으로 들어가게 됩니다.
(참고로 상단에 Main Report를 클릭하면 원래화면으로 돌아갈 수 있습니다.)
5. 우측하단의 Properties창에서 3단계에서 수정하겠다던 datasource expression을 아래와같이 수정해줍니다
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{minList})
당연히 캐치하시겠지만 minList부분은 본인의 소스에 맞게 수정해주세요.
6. 그리고 Outline창에서 Table항목을 열어보면 그림의 총 5칸이 위에서부터
TableHeader, ColumnHeader, Detail, ColumnFooter, TableFooter라는것을 알 수 있습니다.
상황에 따라 사용해주시면 되고 저는 일반적인 간단한 테이블이 필요했기에
ColumnHeader와 Detail만 외의 항목은 삭제처리 하였습니다.
Outline창에서 테이블의 스타일, 컬럼의 갯수 등 많은것을 설정 할 수 있습니다.
7. 제가 한참 헤멨던 부분입니다. Header칸에 텍스트를 어떻게 입력하는지입니다.
우측상단 Palette의 Static Text(Label)를 클릭하고 원하는 Header를 클릭하면 됩니다.
저만 헤멨을수도 있지만 혹시몰라서요ㅎㅎ
8. 마지막으로 중요한 부분인 변수를 세팅하는 부분입니다. Outline에서 필드에 해당 변수명을(vo의 변수명) 생성해주고
Detail칸에 드래그 앤 드랍 해줍니다.
** 추가로 테이블에서 사용하는 리스트명을 메인레포트에서 field로 추가해주어야합니다.
마지막으로 빌드 후 테스트 해보시면 되겠습니다.