[DevExpress] xtraReport를 PDF로 변환시 '동일한 키를 사용하는 항목이 이미 추가되었습니다.' 해결방법!
안녕하세요.
데브익스프레스를 사용해 개발하다보면 예기치못한 오류나 버그가 간혹 발생하는 경우가 있죠.
대부분의 오류는 시간이 좀 걸리더라도 버전이 업데이트 되면서 해결되는 경우가 대부분이지만 만 마냥 기다릴 수가 없을때는 스스로 찾아서 처리할 수밖엔 없습니다.
그중 XtraReport로 보고서를 개발한 뒤에 PDF로 변환 저장하면서 발생하는 오류에 대한 해결방법을 공유하고자 합니다.
"동일한 키를 사용하는 항목이 이미 추가되었습니다" 라는 메시지를 보신적이 있으신가요?
Report를 실행하는데 저런 오류가 발생하면 개발자로선 도무지 디버깅을 할 수가 없습니다.
개발자 pc에서는 아무 이상도 없고, 사용자 pc에서만 무작위로 발생하거든요.
오류 재현을 할수가 없으니 개발자로선 답답할 수 밖엔 없는데요.
이 오류는 중국어로 디자인된 보고서에서 발생하는 오류입니다. (타 언어는 확인 필요)
XtraReport의 Label이나 데이터에 '중국어'가 들어가 있는 Report를 PDF로 변환할 때 발생합니다.
해결 방안은
보고서 출력 로직의 시작부분에 한자 적용이 허용되는 폰트로 일괄 변경하는 코딩을 삽입하면 해결됩니다.
위 해결방안은 중국어의 경우에만 확인된 것이므로 타 언어인 경우는 비슷한 처리방법으로 해결을 시도해봐야 할될 것으로 생각됩니다.
<C# 코딩 예시>
var labels = this.AllControls<XRLabel>();
foreach (XRLabel label in labels)
{
label.Font = new DXFont("Arial Unicode MS", label.Font.Size, label.Font.Style);
}
foreach (XRLabel label in labels)
{
label.Font = new DXFont("Arial Unicode MS", label.Font.Size, label.Font.Style);
}
DevExpress사에서 조속히 업데이트 해주기를 기다려봅니다.
감사합니다.
홈페이지: http://www.wooribnc.com
연락처: 0 7 0 - 4 8 0 9 - 7 7 6 9 // 0 1 0 - 5 1 7 7 - 8 0 5 5
이메일: admin@woooribnc.com // lwjvegas@gmail.com
* KOSA 한국소프트웨어산업협회 정식 등록업체
* KOSA 소프트웨어개발자경력 특급기술자, 정보처리기사
* 가천대학교 가족회사 협약업체
댓글
댓글 쓰기