WinForms 앱에서 ReportViewer 컨트롤을 사용하고 있습니다. "NULL"확인란 텍스트를 다른 것으로 변경하려면 어떻게합니까?SSRS 보고서의 성가신 NULL 체크 박스
alt text http://img269.imageshack.us/img269/1774/dropdowninssrspagerequi.png
WinForms 앱에서 ReportViewer 컨트롤을 사용하고 있습니다. "NULL"확인란 텍스트를 다른 것으로 변경하려면 어떻게합니까?SSRS 보고서의 성가신 NULL 체크 박스
alt text http://img269.imageshack.us/img269/1774/dropdowninssrspagerequi.png
여기에 답이 있습니다.보기 흉하게 들리지만 잘하면이 방법으로 직접 입력해야하는 경우가 있습니다. 당신이 RefreshReport 전에
public class CustomReportViewerMessages : IReportViewerMessages
{
public string NullCheckBoxText { get { return "All"; } }
public string NullCheckBoxToolTip { get { return "All"; } }
public string DocumentMapButtonToolTip { get { return "DocumentMapButtonToolTip"; } }
public string ParameterAreaButtonToolTip { get { return "ParameterAreaButtonToolTip"; } }
public string FirstPageButtonToolTip { get { return "FirstPageButtonToolTip"; } }
public string PreviousPageButtonToolTip { get { return "PreviousPageButtonToolTip"; } }
public string CurrentPageTextBoxToolTip { get { return "CurrentPageTextBoxToolTip"; } }
public string PageOf { get { return "PageOf"; } }
public string NextPageButtonToolTip { get { return "NextPageButtonToolTip"; } }
public string LastPageButtonToolTip { get { return "LastPageButtonToolTip"; } }
public string BackButtonToolTip { get { return "BackButtonToolTip"; } }
public string RefreshButtonToolTip { get { return "RefreshButtonToolTip"; } }
public string PrintButtonToolTip { get { return "PrintButtonToolTip"; } }
public string ExportButtonToolTip { get { return "ExportButtonToolTip"; } }
public string ZoomControlToolTip { get { return "ZoomControlToolTip"; } }
public string SearchTextBoxToolTip { get { return "SearchTextBoxToolTip"; } }
public string FindButtonToolTip { get { return "FindButtonToolTip"; } }
public string FindNextButtonToolTip { get { return "FindNextButtonToolTip"; } }
public string ZoomToPageWidth { get { return "ZoomToPageWidth"; } }
public string ZoomToWholePage { get { return "ZoomToWholePage"; } }
public string FindButtonText { get { return "FindButtonText"; } }
public string FindNextButtonText { get { return "FindNextButtonText"; } }
public string ViewReportButtonText { get { return "ViewReportButtonText"; } }
public string ProgressText { get { return "ProgressText"; } }
public string TextNotFound { get { return "TextNotFound"; } }
public string NoMoreMatches { get { return "NoMoreMatches"; } }
public string ChangeCredentialsText { get { return "ChangeCredentialsText"; } }
public string NullValueText { get { return "NullValueText"; } }
public string TrueValueText { get { return "TrueValueText"; } }
public string FalseValueText { get { return "FalseValueText"; } }
public string SelectAValue { get { return "SelectAValue"; } }
public string UserNamePrompt { get { return "UserNamePrompt"; } }
public string PasswordPrompt { get { return "PasswordPrompt"; } }
public string SelectAll { get { return "SelectAll"; } }
public string PrintLayoutButtonToolTip { get { return "PrintLayoutButtonToolTip"; } }
public string PageSetupButtonToolTip { get { return "PageSetupButtonToolTip"; } }
public string TotalPagesToolTip { get { return "TotalPagesToolTip"; } }
public string StopButtonToolTip { get { return "StopButtonToolTip"; } }
public string DocumentMapMenuItemText { get { return "DocumentMapMenuItemText"; } }
public string BackMenuItemText { get { return "BackMenuItemText"; } }
public string RefreshMenuItemText { get { return "RefreshMenuItemText"; } }
public string PrintMenuItemText { get { return "PrintMenuItemText"; } }
public string PrintLayoutMenuItemText { get { return "PrintLayoutMenuItemText"; } }
public string PageSetupMenuItemText { get { return "PageSetupMenuItemText"; } }
public string ExportMenuItemText { get { return "ExportMenuItemText"; } }
public string StopMenuItemText { get { return "StopMenuItemText"; } }
public string ZoomMenuItemText { get { return "ZoomMenuItemText"; } }
public string ViewReportButtonToolTip { get { return "ViewReportButtonToolTip"; } }
}
그런 다음, 그 클래스 오른쪽의 인스턴스를 사용합니다 :
reportViewer.Messages = new CustomReportViewerMessages();
reportViewer.RefreshReport();
을 그리고 그것을 할 것이다 그래서 같은 IReportViewerMessages 인터페이스를 구현합니다. 유의할 점은 거의 모든 속성을 무의미한 문자열로 남겨 두었습니다.
편집 보고서 (의 바로 아래 그림에서 '시작 날짜')와 그 매개 변수에 대한 'NULL 값을 허용'체크 박스를 선택 취소합니다. 추가 확인란을 표시하지 않고 '공백 값 허용'을 사용할 수 있습니다.
공란이 null과 같지 않은 경우 모든 검색어를 변경해야합니까? –
정확함, 동일하지 않습니다. 쿼리를 변경해야 할 수도 있고 그렇지 않을 수도 있습니다. 쿼리에서 LEN을 검사하여 변수를 항상 NULL로 지정할 수 있습니다. 그럼에도 불구하고, 상자를 제거하고 여전히 값을 요구하지 않는 것이 내가 아는 유일한 방법입니다. – Kenneth
또한 float/date에 null을 사용할 수 없습니다. 그래서 쿼리에서 파싱을 수행해야 할 것입니다. –