본문 바로가기

Visual Std 2010

리포트 매개변수 셋팅

Visual Studio 2010 으로 보고서 마법사를 통해 리포트에 매개변수를 설정해서 폼에서 매개변수에 값을 넘겨주는 방식으로 작성하였습니다.

아래를 참조하세요.

 

 

 

위 그림은 보고서 파일입니다. @base_dt ... 이런식으로 값을 넣어준칸이 매개변수 값을 사용하는 칸이 되겠지요.

그리고 [BASE_DT] 이런식으로 된칸은 쿼리를 통해 그리드에 값을 뿌리는 변수값이 되겠습니다.

 

 

그리고 아래는 그 매개변수와 그리드에 값을 전달해주는 소스입니다.

Imports Microsoft.Reporting.WinForms
Imports System.Drawing.Printing

Public Class 보고서_출력정보


    Public gj_code, md_name As String


    Private Sub parameter_pass()

 

        Dim myparam As ReportParameter


        Dim myparams As New List(Of ReportParameter)

 

        myparam = New ReportParameter("base_dt", 금형이력조회.base_dt)
        myparams.Add(myparam)
        myparam = New ReportParameter("vender", vender.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("gj_cd", gj_cd.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("mold_size", mold_size.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("pr_nm", pr_nm.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("mold_mtrl", mold_mtrl.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("keep_no", keep_no.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("sur_no", sur_no.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("gj_nm", gj_nm.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("md_nm", md_nm.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("ave_life", ave_life.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("mold_tp", mold_tp.Text)
        myparams.Add(myparam)
        myparam = New ReportParameter("etc", etc.Text)
        myparams.Add(myparam)

 

        Me.ReportViewer1.LocalReport.SetParameters(myparams)
        Me.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
        Me.ReportViewer1.RefreshReport()


    End Sub

 


    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click  '<--리포트출력버튼
        parameter_pass()

        Try
            Me.MOLD_HISTORYTableAdapter.FillBy(Me.DataSet1.MOLD_HISTORY, gj_code, md_name)
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            Return
        End Try


        Me.ReportViewer1.RefreshReport()
    End Sub

 

 

    Private Sub 보고서_출력정보_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        'TODO: 이 코드는 데이터를 'DataSet1.MOLD_HISTORY' 테이블에 로드합니다. 필요한 경우 이 코드를 이동하거나 제거할 수 있습니다.
        Me.MOLD_HISTORYTableAdapter.Fill(Me.DataSet1.MOLD_HISTORY)

        gj_cd.Text = 금형이력조회.gj_code
        md_nm.Text = 금형이력조회.md_nm
        vender.Text = 금형이력조회.vender
        pr_nm.Text = 금형이력조회.pr_nm
        mold_size.Text = 금형이력조회.md_size
        mold_mtrl.Text = 금형이력조회.md_mtrl
        keep_no.Text = 금형이력조회.keep_no
        sur_no.Text = 금형이력조회.sur_no
        gj_nm.Text = 금형이력조회.gj_nm
        ave_life.Text = 금형이력조회.ave_life
        mold_tp.Text = 금형이력조회.mold_tp
        etc.Text = 금형이력조회.etc1
    End Sub
End Class

 

빨간색부분이 매개변수에 값을 전달해주는 소스입니다. 파란색부분은 그리드에 뿌릴 값을 가져오는 쿼리를 하는 소스입니다.

 

프로그램 개발에 중요한 부분 중 하나가 출력물입니다. 원하는 데이터를 보기좋게 출력하는것으로도 프로그램의 완성도를 한층 높일수가 있습니다.