STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • Bình luận
    • Sao chép

    WPF - Report Viewer Tutorial

    Report Viewer là một công cụ hỗ trợ tiện dụng trong bộ thư viện dot NET của Microsoft giúp lập trình viên xuất báo cáo dựa trên dữ liệu có sẵn trong hệ thống.
    24/11/2014
    24/09/2020
    3 phút đọc
    WPF - Report Viewer Tutorial

    Report Viewer là gì ?

    Report Viewer là một công cụ hỗ trợ tiện dụng trong bộ thư viện dot NET của Microsoft giúp lập trình viên xuất báo cáo dựa trên dữ liệu có sẵn trong hệ thống.

    Tuy nhiên, với công nghệ WPF thì control này không mặc định tồn tại nên phải chủ động thêm vào.

    Hướng dẫn

    Bước 1: tạo Window mới

    Tạo 1 cửa sổ mới.

    Chọn project hiện tại, nhấn chuột phải bấm vào menu Add.. chọn Window, nhấn chuột phải vào cửa sổ vừa tạo ở khung Solution Explorer và chọn Add Reference.

    WPF report viewer tutorial .Net

    Bước 2: thiết lập WindowsFormsHost

    Ở trang xaml của cửa sổ vừa tạo, kéo thả control WindowsFormsHost vào cửa sổ vừa tạo và thiết lập như sau:

    <Window x:Class="WpfApplication1.MainWindow"
    	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    	xmlns:rv="clr-namespace:Microsoft.Reporting.WinForms;
    		assembly=Microsoft.ReportViewer.WinForms" 
    	Title="MainWindow" Height="350" Width="525">
        <Grid>
            <WindowsFormsHost VerticalAlignment="Top" HorizontalAlignment="Left" 
    			Width="100" Height="100" Margin="127,191,0,0"/>
            <WindowsFormsHost>
                <rv:ReportViewer x:Name="_reportViewer"/>
            </WindowsFormsHost>
        </Grid>
    </Window>

    Bước 3: thiết lập Report Wizard

    Chuột phải vào project và chọn Add new item, chọn Report Wizard.

    WPF report viewer tutorial .Net

    Bước 4: thiết lập dataset

    Lần lượt thiết lập Data Set trong cửa sổ Report Wizard.

    WPF report viewer tutorial .Net

    Chọn Database và bấm Next.

    WPF report viewer tutorial .Net

    Chọn Dataset và bấm Next.

    WPF report viewer tutorial .Net

    Khi chọn New Connection.. để thêm database vào project.

    Ở đây thêm database "RAPCHIEUPHIM".

    Sau đó bấm Next sẽ hiện cửa sổ như trên, chọn "No".

    WPF report viewer tutorial .Net

    Chọn Next và đợi load dữ liệu từ database.

    WPF report viewer tutorial .Net

    Ở khung DataSet name, đặt tên cho Data set source, lưu ý nên đặt tên dễ lưu nhớ vì tên này sẽ dùng để truy xuất data set ở trong phần tải report.

    Một dataset bao gồm nhiều thành phần của database tạo nên, chọn Data Set là bảng KHACHHANG.

    Sau khi đã chọn và đặt tên, bấm Finish.

    WPF report viewer tutorial .Net

    Sau khi cửa sổ này xuất hiện, đặt tên cho Data set và bấm Next.

    WPF report viewer tutorial .Net

    Chọn thuộc tính của Data set sẽ hiển thị trong report, ở đây chọn hiển thị tất cả các thuộc tính của Bảng KHACHHANG nên kéo thả toàn bộ thuộc tính ở vùng “Available fields” sang vùng “Values”.

    Sau khi đã chọn thuộc tính cần hiển thị, bấm Next.

    WPF report viewer tutorial .Net

    Bấm Next để tiếp tục.

    WPF report viewer tutorial .Net

    Chọn style của report, ở đây để mặc định và bấm Finish để hoàn tất.

    Bước 5: thiết lập cửa sổ hiện thị report

    Thiết lập trong file .cs của cửa sổ hiển thị report.

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            _reportViewer.Load += ReportViewer_Load;
        }
    
        private bool _isReportViewerLoaded;
    
        private void ReportViewer_Load(object sender, EventArgs e)
        {
            if (!_isReportViewerLoaded)
            {
                Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = 
                            new Microsoft.Reporting.WinForms.ReportDataSource();
    
                NameOfDataSet dataset = new NameOfDataSet();
                dataset.BeginInit();
    
                reportDataSource1.Name = "NameOfDataSet";
                reportDataSource1.Value = dataset.KHACHHANG;
                this._reportViewer.LocalReport.DataSources.Add(reportDataSource1);
                this._reportViewer.LocalReport.ReportEmbeddedResource =
                            "WpfApplication1.NameOfReport.rdlc";
    
                dataset.EndInit();
    
                //fill data into adventureWorksDataSet
                NameOfDataSetTableAdapters.KHACHHANGTableAdapter datasetAdapter =
                            new NameOfDataSetTableAdapters.KHACHHANGTableAdapter();
    
                datasetAdapter.ClearBeforeFill = true;
                datasetAdapter.Fill(dataset.KHACHHANG);
    
                _reportViewer.RefreshReport();
    
                _isReportViewerLoaded = true;
            }
        }
    }

    Kết quả 

    WPF report viewer tutorial

    Phù hợp cho bạn

    Đề xuất

    Các Kiến Thức Cần Có Cho 1 Dự Án C#

    Các Kiến Thức Cần Có Cho 1 Dự Án C#

    Lộ trình, kiến thức cần chuẩn bị cho dự án C# dành cho người mới.

    C# for AutomationGóc Nhìn

    05/07/2020

    6 Bước Render Chân Dung

    6 Bước Render Chân Dung

    Hướng dẫn cơ bản 6 bước Render chân dung nhanh chóng.

    Control ZedIOI

    30/09/2020

    Khám phá thêm

    Giới Thiệu về Kỹ Thuật Phần Mềm – Software Engineering

    Giới Thiệu về Kỹ Thuật Phần Mềm – Software Engineering

    Software Engineering là một phần của System Engineering - liên quan đến ...

    Trung Nguyễn

    22/09/2014

    Tín Hiệu Số Và Tương Tự - Analog/Digital

    Tín Hiệu Số Và Tương Tự - Analog/Digital

    Trong ngành điện tử nói chung và trong lập trình vi điểu khiển nói ...

    Điện Tử Ứng DụngKiến thức & linh kiện

    22/06/2016

    Hướng Dẫn Cài Đặt Strawberry Perl Trên Windows

    Hướng Dẫn Cài Đặt Strawberry Perl Trên Windows

    Cài đặt chi tiết Perl cho môi trường Windows sử dụng gói Strawberry ...

    Vũ Quang Huy

    03/11/2014

    Mở File Và Đường Dẫn Bất Kỳ Với Phương Thức ShellExcute()

    Mở File Và Đường Dẫn Bất Kỳ Với Phương Thức ShellExcute()

    Hướng dẫn mở file trong chương trình bằng hàm ShellExcute() trong C++ ...

    Modern C++Win32 API

    15/09/2015

    C# - Vì Sao Lại Chọn C Sharp

    C# - Vì Sao Lại Chọn C Sharp

    Ngôn ngữ lập trình C# được xây dựng bởi Microsoft có thiết kế mạnh mẽ có ...

    C# for AutomationGóc Nhìn

    09/08/2020

    HTML - Phần 1: Cơ Bản Về HTML

    HTML - Phần 1: Cơ Bản Về HTML

    Các kiến thức cơ bản về HTML trong thiết kế web và tạo trang web đầu ...

    HTML Cheat SheetCăn bản

    20/10/2015

    Nội Dung Trọng Tâm Thi ISTQB Advanced Level

    Nội Dung Trọng Tâm Thi ISTQB Advanced Level

    Bài viết giới thiệu về nội dung bài thi nâng cao (Advanced Level) để ...

    STDIO TrainingISTQB

    16/05/2017

    Type-casting Trong C++

    Type-casting Trong C++

    Tìm hiểu về chuyển đổi kiểu dữ liệu (type-casting) trong C++.

    Modern C++C++98

    30/07/2015

    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020