다음을 통해 공유


웹 사이트의 보고서에 테두리 추가

이 부분에서는 웹 사이트의 Crystal 보고서에 사용자 지정된 테두리를 추가하는 방법을 설명합니다. Windows 프로젝트에 대해서는 테두리 너비, 스타일 및 색상에 관련된 속성을 사용할 수 없습니다.

테두리 스타일은 BorderStyle 열거형에 나열되어 있고, 색상은 KnownColor 열거형에 나열되어 있습니다. 그러나 CrystalReportViewer 컨트롤의 BorderColor 속성에는 Color 클래스의 값이 사용되므로 KnownColor 값을 Color 값으로 변환해야 합니다.

먼저 Web Form에 필요한 컨트롤을 추가합니다. 여기에는 테두리를 그리기 위한 Button 컨트롤과 두 개의 DropDownList 컨트롤 및 TextBox 컨트롤이 필요합니다.

테두리 너비, 스타일 및 색상을 설정하기 위한 컨트롤을 추가하려면

  1. Web Form을 엽니다.
  2. 보기 메뉴에서 디자이너를 클릭합니다.
  3. 도구 상자에서 Label 컨트롤을 표의 6행, 1열로 끕니다.
  4. Label 컨트롤을 선택한 다음 속성 창에서 Text를 "테두리 너비"로 설정합니다.
  5. 도구 상자에서 TextBox 컨트롤을 Label 컨트롤과 같은 표 셀로 끕니다.
  6. TextBox 컨트롤을 선택하고 속성 창에서 ID 또는 Name을 "borderWidth"로 설정합니다.
  7. 도구 상자에서 두 번째 Label 컨트롤을 표의 6행, 2열로 끕니다.
  8. Label 컨트롤을 선택한 다음 속성 창에서 Text를 "테두리 스타일"로 설정합니다.
  9. 도구 상자에서 DropDownlist 컨트롤을 Label 컨트롤과 같은 표 셀로 끕니다.
  10. DropDownlist 컨트롤을 선택하고 속성 창에서 ID 또는 Name을 "selectBorderStyle"로 설정합니다.
  11. 도구 상자에서 세 번째 Label 컨트롤을 표의 6행, 3열로 끕니다.
  12. Label 컨트롤을 선택한 다음 속성 창에서 Text를 "테두리 색상"으로 설정합니다.
  13. 도구 상자에서 DropDownlist 컨트롤을 Label 컨트롤과 같은 표 셀로 끕니다.
  14. DropDownlist 컨트롤을 선택하고 속성 창에서 ID 또는 Name을 "selectBorderColor"로 설정합니다.
  15. 도구 상자에서 Button 컨트롤을 표의 6행, 4열로 끕니다.
  16. Button 컨트롤을 선택하고 속성 창에서 다음 작업을 수행합니다.
    1. ID 또는 Name을 "drawBorder"로 설정합니다.
    2. Text 속성을 "테두리 그리기"로 설정합니다.

이제 CrystalReportViewer 컨트롤에 사용할 수 있는 테두리 스타일 또는 테두리 색상을 사용하여 DropDownList 컨트롤을 채워야 합니다. DropDownList 컨트롤은 ConfigureCrystalReports() 메서드에서 채워집니다.

웹 사이트의 경우 테두리 스타일은 System.Web.UI.WebControls.BorderStyle 열거형에 저장되어 있고, 테두리 색상은 System.Drawing.KnownColor 열거형에서 찾을 수 있습니다.

  1. 클래스 서명 위에 System.Web.UI.WebControls 및 System.Drawing 네임스페이스에 대한 "Imports" [Visual Basic] 또는 "using" [C#] 선언이 없으면 클래스 위에 해당 선언을 추가합니다.
``` vb
Imports System.Web.UI.WebControls
Imports System.Drawing
```

``` csharp
using System.Web.UI.WebControls;
using System.Drawing;
```
  1. ConfigureCrystalReports() 메서드의 Not IsPostBack 조건 블록에서 BorderStyle 열거형을 selectBorderStyleDropDownList의 DataSource 속성에 할당합니다.

    selectBorderStyle.DataSource = System.Enum.GetValues(GetType(BorderStyle))
    
    selectBorderStyle.DataSource = System.Enum.GetValues(typeof(BorderStyle));
    
  2. 데이터 소스를 selectBorderStyleDropDownList에 바인딩합니다.

    selectBorderStyle.DataBind()
    
    selectBorderStyle.DataBind();
    
  3. 다시 Not IsPostBack 조건 블록 내에서 KnownColor 열거형을 selectBorderColorDropDownlist의 DataSource 속성에 할당합니다.

``` vb
selectBorderColor.DataSource =
System.Enum.GetValues(GetType(KnownColor))
```

``` csharp
selectBorderColor.DataSource =
System.Enum.GetValues(typeof(KnownColor));
```
  1. 데이터 소스를 selectBorderColorDropDownList에 바인딩합니다.

    selectBorderColor.DataBind()
    
    selectBorderColor.DataBind();
    

테두리 그리기 Button 컨트롤을 코딩하려면

그런 다음 CrystalReportViewer 컨트롤의 BorderWidth, BorderStyle 및 BorderColor 속성에 값을 할당합니다.

  1. Web Form을 엽니다.

  2. 보기 메뉴에서 디자이너를 클릭합니다.

  3. 테두리 그리기 Button 컨트롤을 두 번 클릭합니다.

    보고서의 코드 숨김 클래스가 나타나고 자동 생성된 drawBorder_Click() 이벤트 처리기가 표시됩니다.

  4. drawBorder_Click() 이벤트 처리기 내에서 borderWidthTextBox에 입력된 텍스트를 CrystalReportViewer 컨트롤의 BorderWidth 속성에 할당합니다.

    Note참고

    여기에서는 TextBox 컨트롤에 정수가 입력되었는지에 대한 유효성 검사를 수행하지 않지만, 프로덕션 응용 프로그램에서는 TextBox 컨트롤에 대해 구성한 유효성 검사 컨트롤을 추가해야 합니다.

    myCrystalReportViewer.BorderWidth =
    Unit.Parse(borderWidth.Text.ToString())
    
    crystalReportViewer.BorderWidth =
    Convert.ToInt32(borderWidth.Text);
    
  5. selectBorderStyleDropDownList에서 선택한 인덱스를 가져와 BorderStyle 값으로 변환합니다. CrystalReportViewer 컨트롤의 BorderStyle 속성에 BorderStyle 값을 할당합니다.

    myCrystalReportViewer.BorderStyle = CType(selectBorderStyle.SelectedIndex, BorderStyle)
    
    crystalReportViewer.BorderStyle = (BorderStyle)selectBorderStyle.SelectedIndex;
    
  6. selectBorderColorDropDownList에서 선택 항목을 문자열로 가져와 Color 클래스의 FromName() 메서드에 전달합니다. CrystalReportViewer 컨트롤의 BorderColor 속성에 Color 값을 할당합니다.

    myCrystalReportViewer.BorderColor = Color.FromName(selectBorderColor.SelectedItem.Text)
    
    crystalReportViewer.BorderColor = Color.FromName(selectBorderColor.SelectedItem.Text);
    

Crystal 보고서 가장자리에 테두리를 그리려면

  1. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

  2. 빌드 오류가 발생하면 바로 수정합니다.

  3. 디버그 메뉴에서 시작을 클릭합니다.

  4. 테두리 너비로 10을 입력합니다.

  5. 테두리 스타일로 Double을 선택합니다.

  6. 테두리 색상으로 SteelBlue를 선택합니다.

  7. 테두리 그리기 단추를 클릭합니다.

    페이지가 다시 로드되고 Crystal 보고서 가장자리에 테두리가 표시됩니다.

  8. Visual Studio로 돌아간 다음 중지를 클릭하여 디버그 모드를 종료합니다.