2010-03-08 3 views
7

사용자가 표시 할 열을 선택할 수있는 사용자 지정 가능한 rdlc 보고서가 있습니다. 모든 열은 보고서 디자이너에 포함되어 있으며 매개 변수를 사용하여 사용자의 선택에 따라 열을 숨기거나 표시합니다. 보고서가 올바르게 렌더링되고 선택한 열만 표시됩니다. 그러나 보고서의 전체 너비는 모든 열이 표시된 것처럼 같습니다. 이는 보고서가 선택한 열의 오른쪽에있는 거대한 빈 영역을 가질 수 있음을 의미합니다. 이는 매우 어리 석습니다.일부 열이 숨겨져있을 때 rdlc 보고서의 전체 너비는 어떻게 조정합니까?

내 질문 : 보고서에 큰 바보 같은 빈 영역을 피하기 위해 런타임에 동적으로 보고서 너비를 조정하는 방법이 있습니까? 필자는 디자이너에서 보고서 본문의 너비에 매개 변수를 할당하여 시도했지만 .... 허용되지 않았습니다. 너비는 디자이너의 모든 표현식이 될 수 없으며 실제 값만 허용됩니다.

제안 사항?

답변

0

보고서의 실제 너비는 디자이너에서 고정되어 있으므로 런타임에 보고서 크기를 조정할 수 없습니다. 보고서 디자이너에서 식을 지정하거나 보고서, 페이지 또는 본문에 너비 값을 동적으로 할당 할 수있는 방법이 없습니다.

그러나 rdlc 보고서의 CONTAINER 너비는 런타임에 제어 할 수 있습니다. 보고서 뷰어를 패널 컨트롤 안에 배치하면 원하는 출력을 얻을 수 있습니다. UI를 사용하면 사용자가 포함 할 열을 결정할 수 있으므로 각 선택적 열에 너비 값을 첨부하고 그 열을 합계하고 적절하게 컨테이너의 크기를 조정할 수 있어야합니다.

컨테이너의 크기를 조정하면 보고서의 공백 문제가 양식의 공백 문제로 바뀝니다. 해당 프레임 외부의 빈 공간이있는 보고서 주위의 단단한 프레임이 원하는 것일 수도 있습니다.

HTH & 건배,

CEC

+0

rdlc를 XmlDocument 개체로로드하고 "크기"요소를 조정하여 열 너비를 조정할 수 있습니다. 런타임시 열을 숨기려면 항상이 작업을 수행하십시오. – clamchoda

1

내가 바보가 될 수있는 해결 방법을 가지고 있지만, 적어도 나를 위해 작동합니다 rdlc 보고서 디자이너를 마친 후에는 닫은 다음 XML 편집기를 사용하여 rdlc 보고서를 열고 <body>...</body> 태그 바로 다음에 <Report> 태그 내에서 보고서의 너비가 포함 된 <width>...</width> 태그를 볼 수 있습니다. 값을 아주 작은 값 (예 : <width>1in</width>)으로 수정하면 바보 같은 공백없이 보고서가 표시되어야합니다.

그러나 디자이너에서 rdlc 보고서를 열면 너비가보기 영역으로 재설정되므로 문제가 다시 나타나므로 보고서에서 작업을 마친 후에 다시 수행하십시오.

나는 어리석은 해결책을 알고 있지만 고객 측보다 개발자 측에서 더 어리석은 편이다.

희망이 도움이됩니다.

1

가능한 경우 다른 열의 너비를 늘려 빈 공간을 채울 수 있습니다. 이 문제는 다음과 같이 해결되었습니다.

예를 들어 '이름'과 '할인'열이 있습니다. 할인을 숨길 수 있으며 Name.Width를 Name.Width + Discount.Width로 변경해야합니다.

나는 Discount.Width와 동일한 너비의 '이름'열에서 새로운 열 ('NameExt')을 만들었습니다. 'Name'열과 'NameExt'열의 병합 된 셀 그런 다음 '할인'에 대한 가시성 규칙과 'NameExt'에 대한 역 가시성 규칙을 설정하십시오.

희망이 도움이 될 수 있습니다.

관련 문제