기본적으로 SSRS의 텍스트 상자 내용이 텍스트 상자의 너비를 오버플로하면 텍스트 상자가 해당 내용을 수용 할 수 있도록 세로로 커집니다. 이 기능은 텍스트 상자의 "CanGrow"속성을 "False"로 설정하여 해제 할 수 있습니다.SSRS의 줄임표로 텍스트 상자 내용 잘라 내기
그러나 갑자기 내용이 잘리는 것이 이상적이지 않습니다.
텍스트가 텍스트 상자에 맞게 너무 넓음을 사용자에게 명확하게 보여줄 수있는 방법을 찾고 있습니다. 텍스트 문자열의 길이는 몇 가지 고정 된 수의 이상 때 과거에 내가 줄임표를 추가하는 간단한 표현을 사용하고있다 "...":
=Iif(Len(Fields!CustomerName.Value) > 25,
Left(Fields!CustomerName.Value,23) + "...",
Fields!CustomerName.Value)
하지만이 경우 고객이 잘 작동하지 않습니다 이름에는 대문자, 소문자, 구두점 및 기타 문자가 혼합되어있어 개별 문자 픽셀 너비가 크게 달라집니다.
텍스트 상자 컨트롤의 일부 속성은 텍스트가 텍스트 상자에 맞지 않을 때마다 보고서 개발자가 줄임표를 추가하는 것이 이상적입니다.
아무에게도이보다 우아한 접근 방법에 대한 제안이 있습니까?
잘 작동하지만이 알고리즘은 잘라내어 진 텍스트를 측정 할 때 타원을 고려하지 않습니다. 이론적으로 텍스트를 최대 너비 바로 아래의 내용으로 트리밍 할 수 있지만 타원이 추가되면 다시 넘어갑니다. 'For' 루프 안에'w = TextWidth (Left (str, l) + suffix)'가 필요하다고 생각합니다. –
당신이 옳습니다. 고마워요. 그에 따라 코드를 편집했습니다. – Dan
와우,이 스택 오버플로를 사용하는 마법의 종류입니다. – Nathan