.NET 에서 RDLC 순환 처리 데이터 의 응용 분석
private List<UserData> CreateDataSet()
{
List<UserData> userDataSet = new List<UserData>();
userDataSet.Add(new UserData() { Name = "Clark", Age = 18 });
userDataSet.Add(new UserData() { Name = "Yaya", Age = 15 });
return userDataSet;
}
우 리 는 보고서 에 데 이 터 를 표시 하기 위해 RDLC 의 데이터 시트 컨트롤 을 빠르게 사용 할 수 있다.그러나 고객 이 다음 그림 의 보고 서 를 요구 할 때 데이터 원본 내용 을 한 줄 에 표시 해 야 한다.RDLC 가 이런 수 요 를 처리 하 는 것 은 그리 간단 하지 않다.이것 은 RDLC 가 순환 처리 하 는 편지 식 으로 사용 할 수 없 기 때문이다.개발 자가 데 이 터 를 조합 하려 면 숨겨 진 목록,외부 에서 문자열 을 조합 하 는 등 우회 적 으로 보고서 내용 을 작성 해 야 합 니 다.그러나 이런 방식 의 개발 은 비효 율 적 이 고 제한 도 많다.
이 문 제 는 나 를 며칠 동안 괴 롭 혔 는데,어젯밤 에 절반 까지 잤 더 니 갑자기 영감 이 떠 올 랐 다.RDLC 의 Sum 함 식 을 사용 하여 데이터 순환 처 리 를 할 수 있 습 니 다.
Sum 편지 식 은 데이터 가 집 중 된 모든 자 료 를 얻 고 모든 데이터 의 총 계 를 계산한다.우 리 는 표현 식 을 다음 과 같은 편지 식 으로 쓸 수 있 습 니 다.code.PushStringStack 이라는 RDLC 사용자 정의 편지 식 을 이용 하여 Sum 편지 식 으로 모든 데 이 터 를 얻 을 수 있 습 니 다.이러한 쓰기 방법 은 데이터 가 집 중 된 모든 데 이 터 를 code.PushString 에 의 해 한 번 처리 할 수 있 습 니 다.
=Sum(code.PushString(Fields!Name.Value, Fields!Age.Value), "UserDataSet")
에 이 어 code.PushString 이라는 RDLC 사용자 정의 편지 식 내 부 를 보고 static 문자열 변 수 를 사용 하여 모든 데이터 처리 후의 결 과 를 기록 합 니 다.개발 자 들 은 이런 방식 이 데 이 터 를 순환 처리 하 는 것 이라는 것 을 이해 할 수 있 을 것 이다.
Public Shared _foreachResult As String = String.Empty
Public Shared Function PushString(userName As String, userAge As String) As Integer
_foreachResult += userName & "(" & userAge & "), "
Return 0
End Function
당연 하 죠.순환 처 리 를 마치 고 데 이 터 를 화면 에 표시 해 야 합 니 다.여기 서 간단 한 것 은 code.PopString 리 턴 을 만 드 는 것 입 니 다.
Public Shared Function PopString() As String
Return _foreachResult
End Function
이 고 원래 의 표현 식 을
=IIF(Sum(code.PushString(Fields!Name.Value, Fields!Age.Value), "UserDataSet") <> 0, "", code.PopString())
으로 바 꾸 어 컴 파일 하고 실행 한 후에 RDLC 의 텍스트 상자 에서 고객 이 요구 하 는 데이터 형식 을 정확하게 표시 하 는 것 을 볼 수 있 습 니 다.범례 프로그램:RdlcForeachDataSamplejb51net 에서 이 다운 로드 를 누 르 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS를 통한 Module 개발1. ModuleLoader 사용 2. IModuleInfo 사용 ASModuleOne 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.