2017-11-06 12 views
1

나는 SSRS 보고서에 새 매개 변수를 전달하기 위해 노력하고, 초기화하는 동안 :패스 매개 변수 그러므로 내가 계약 클래스에서이 방법을 만든 기본 값

[DataMemberAttribute('LanguageId')] 
public LanguageId parmLanguageId(languageId _languageId = languageId) 
{ 

    languageId = _languageId; 

    return languageId; 
} 

그리고 다른 것은 검색하기 값 : 내 DP 클래스에서

public LanguageId getLanguageId() 
{ 
    return languageId; 
} 

나는 또한 값을 검색하고있다 :

languageId = _contract.getLanguageId(); 

그래서 F를 ar, 너무 좋아요, 내 보고서를 실행할 때 대화 상자가 대화 상자에서 선택한 언어 ID가있는 값을 통과하고 있습니다.

내가 겪고있는 문제는 대화 상자에서 기본값을 초기화 할 때 선택한 값을 전달하지 않지만 대화 상자를 열 때 기본값이 초기화된다는 것입니다.

내가 좋아하는 내 parmLanguageId을 편집 할 생각 :

[DataMemberAttribute('LanguageId')] 
public LanguageId parmLanguageId(languageId _languageId = 'DefaultLanguageValue') 
{ 

    languageId = _languageId; 

    return languageId; 
} 

하지만, 그때 내가 선택한 값으로 변수를 변경해야 할 부분이 오면, 나는 아마 간단한 솔루션을 그리워하지만, 어떻게 달성 할 이?

+0

그냥 발동에 다음을 넣어 그들에게 그들과 단지 폭포를 필요로하는 PARAMS하기 전에 해결해야 할 수 없습니다. 당신이하려고하는 것보다 쉬워 보입니다. – Snowlockk

+0

답장을 보내 주셔서 감사합니다. 해결책을 설명해 주시겠습니까? 무슨 뜻인지 모르겠다. –

답변

1

보고서 컨트롤러 클래스의 방법 prePromptModifyContract를 오버라이드 (override) 그 안에 다음 행을 추가하십시오 :

YourContract contract = this.parmReportContract().parmRdpContract() as YourContract; 
contract.parmLanguageId('DefaultLanguageValue'); 
+0

컨트롤러 클래스에서이 행을 추가하려고했지만 대화 상자에 언어 값을 전달하지 않습니다. 중단 점을 추가하고 디버거를 검사 할 때 언어 매개 변수는 비어 있습니다. –

+0

'prePromptModifyContract'는 매개 변수 대화 상자가 사용자에게 표시되기 전에 호출됩니다. 이 방법으로 중단 점을 설정해 보았습니까? 효과가 있습니까? 무슨 일이 일어나고 있는지 모니터링하기 위해 계약 클래스의'parmLanguageId'에 중단 점을 설정하려 했습니까? 경우에 따라 변경 후 CIL을 생성 했습니까? – 10p