5. DataGrid
5.3. Sử dụng DataGridView hiển thị dữ liệ u
Trong phần này chúng ta sẽ dùng DataGrid để hiển thị dữ liệu của bảng trong csdl Students.mdb. Ta sẽ điền đầy đủ nội dung khung lưới bằng dữ liệu của bảng ở dạng chuỗi sau đó thực hiện một số thao tác định dạng, sắp xếp và ghi lại những thay đổi trong DataGrid trở lại csdl.
Cũng giống như TextBox, bạn có thể ràng buộc dữ liệu trong DataSet vào DataGrid. Việc ràng buộc này thông qua hai thuộc tính là DataSource và DataMember.
Trong bài tập MyDataGridBinding sau chúng ta sẽ đưa toàn bộ nội dung của bảng Instructors có trong DsInstructors1 hiển thị trong khung lưới DataGrid.
Bài tập MyDataGridBinding:
Bạn tạo mới một Solution và thêm vào một dự án cùng tên là MyDataGridBinding.
Kết nối cơ sở dữ liệu:
Nếu trong bài trước chúng ta đã hoàn thành kết nối với csdl thì bây giờ trong cửa sổ Server Explorer sẽ có một kết nối đến csdl đó nhưng có thêm một gạch đỏ ở kết nối đó. Nếu muốn sử dụng lại kết nối này bạn chỉ việc ấn vào nút Refresh —I là xong. Trong bài tập này tôi chép file csdl Students.mdb vào cùng thư mục với dự án để tiện thao tác.
Bạn chọn nút để thực hiện kết nối đến csdl như đã biết. Chọn csdl mà chúng ta vừa
chép vào thư mục chứa dự án. Nhấn OK để hoàn thành kết nối.
Bạn có thể xem chi tiết các bảng có trong csdl này bằng cửa sổ Server Explorer:
Tạo đối tượng điều phối DataAdapter:
Bạn tạo thêm đối tượng OleDbDataAdapter vào trong form bằng cách kéo nó từ ToolBox ở tab data vào trong form. Khi đó một cửa sổ Data Adapter Configuration xuất hiện.
Nhấn Next hai lần để hiện cửa sổ Generate SQL Statements. Tại đây bạn có thể tự gõ câu lệnh SQL hay sử dụng nút nhấn Query Builder... Ở đây mình dùng cách nhập trực tiếp câu lệnh SQL. Bạn nhập câu lệnh sau:
SELECT Extension, PhoneNumber, Instructor, InstructorID FROM Instructors
Phát biểu này sẽ trích rút dữ liệu ở cả bốn trường trong bảng Instructors. Bạn nhấn Next để xem kết quả của Winzard. Lúc này, trình Winzard tự tạo ra các câu lệnh khác là Update (cập nhật), Select, Insert (chèn), Delete (xóa).
Nhấn Finish để kết thúc quá trình xây dựng tạo đối tượng điều phối DataAdapter có tên OleDbDataAdapter1.
Tạo đối tượng trình diễn DataSet:
Nhấn Form để chọn nó.
Chọn Data | Generate DataSet từ menu làm hiện hộp thoại Generate DataSet như đã biết. Tại ô New bạn nhập vào tên DsInstructors và đánh dấu vào ô checkBox Add this DataSet To The Designer để VS tạo ra đối tượng DataSet và đưa nó vào khay hệ thống như hình:
Nhấn OK để VS tạo đối tượng DataSet cho bảng Instructors trong csdl Students.mdb. Lúc này cửa sổ form có thêm các đối tượng như hình:
Chúng ta đã hoàn thành ba bước đầu của thao tác với csdl. Bây giờ chúng ta sử dụng DataGrid để trình bày dữ liệu.
Tạo đối tượng DataGrid:
Kéo form cho kích thước rộng ra để chứa đủ khung lưới DataGrid với 4 cột và 10 dòng.
Đưa điều khiển DataGrid DataGrid trên ToolBox vào trong form. Kéo chiều dài của nó cho phù hợp với chiều kích thước của form.
Tạo thêm một nút nhấn nữa vào form. Đặt thuộc tính Name là btnLoad và text là “Load
Data”.
Mở Properties của DataGrid và đặt thuộc tính Anchor của nó là cả Left, Right, Top, Bottom. Giao diện của form lúc này như hình:
Tiếp theo ta sẽ dùng thuộc tính DataSource và DataMember để ràng buộc dữ liệu trong DsInstructors1 vào khung lưới DataGrid.
Bạn cho hiển thị các tùy chọn của thuộc tính DataSource trong cửa sổ Properties. Một chương trình có thể có rất nhiều DataSet nhưng tại một thời điểm khung lưới chỉ có thể thể hiện một DataSet mà thôi. Bạn chọn DsInstructors1 như hình H.1.
Tiếp theo bạn chọn thuộc tính DataMember là Instructors như hình H.2.
khung lưới sẽ hiển thị các cột dữ liệu dù chưa có dòng dữ liệu nào hiển thị. Dữ liệu sẽ được đưa vào khung lưới khi chương trình thực thi.
Bạn chọn nút Load Data và đặt thuộc tính Anchor của nó là Bottom, Left. Lúc này giao diện form thiết kế sẽ như hình H.3.
Tiếp theo chúng ta cần viết mã để đổ dữ liệu vào khung lưới bằng phương thức Fill như bạn đã biết trong chương trước.
H.1. Chọn DsInstructors1 cho thuộc tính DataSource Properties
DataGrid 1 System. Windows .Forms. DataGrid T
a®®/
s CaptionFont Microsoft Sans Serif; 8.25pt; style=Eiold A
CaptionForeColor 1 1 ActiveCaptionText CaptionText CaptionVisible True CausesValidation True ColumnHeadersVisible True ContextMenuStrip (none) 1 DataMember 1 Instructors V Datasource . o None
Dock UH:" 1 Instructors
Enabled FlatMode
El Font ForeColor
H.2. Chọn Instructors cho thuộc tính DataMember
Tạo thủ tục btnLoad_Click bằng cách double click vào nó và nhập đoạn mã sau:
DsInstructors1.Clear()
OleDbDataAdapter1.Fill(DsInstructors1)
Nhấn nút Save All để lưu lại các thay đổi và chạy thử chương trình.
Chạy chương trình:
Nhấn nút F5 để chạy chương trình. Nhấn nút Load Data để nạp dữ liệu vào trong khung lưới DataGrid:
Bạn có thể kéo để thay đổi kích thước form sao cho các thông tin về csdl xuất hiện đầy đủ. Bạn cũng có thể sắp xếp dữ liệu trong khung lưới bằng cách click vào tiêu đề một cột nào đó. Nhấn nút Close để đóng chương trình.
6. Reporting
6.1 Giới thiệu Report
Trong các ứng dụng với cơ sở dữ liệu (CSDL), việc đưa ra các báo cáo là việc làm cần thiết để giúp các nhà quản lý, người sử dụng đưa ra các thống kê và in ấn khi cần, ví dụ như báo cáo doanh thu theo tuần, theo quý, hoặc báo cáo sinh viên trong một lớp, sinh viên đỗ, trượt, v.v.
Với .NET bạn có thể tạo báo cáo cho các ứng dụng với CSDL một cách dễ dàng. Crystal Report đã là một component từ khi Visual Studio ra đời năm 2012.Trong các phiên bản từ VS2008 trở về trước, bạn có thể thêm nó vào thanh Toolbox để phát triển ứng dụng của mình. CR được cung cấp bởi SAP. Từ phiên bản VS2010, SAP chưa có sản phẩm tích hợp CRvới VS2010, bạn muốn sử dụng CR cho phát triển ứng dụng của bạn, bạn chỉ có thể sử dụng bản beta của họ.
6.2 Tạo báo cáo bởi Crystal Report
Cài đặt Crystal Report
Phiên bản Crystal Report Service Pack 18 hỗ trợ cho các phiên bản của Visual Studio từ 2010 đến 2015.
Đăng nhập vào máy với quyền quản trị (Administrator). Tải tập tin cài đặt theo địa chỉ trên. Xong chạy tập tin vừa tải về này (nhấp đúp chuột để chạy).
Hộp thoại chọn ngôn ngữ xuất hiện, chọn ngôn ngữ là English, xong chọnOK để đồng ý.
Màn hình chào của Crystal Report xuất hiện, bạn chọnNext để tiếp tục.
Màn hình bản quyền của Crystal Report xuất hiện, bạn chọnI accept the License Agreement để tiếp tục.
Quá trình cài đặt bắt đầu, thời gian cài đặt phụ thuộc vào cấu hình máy, thường mất khoảng 3 – 6 phút. Sau khi cài đặt hoàn thành, màn hình bên dưới sẽ xuất hiện. Nếu bạn muốn cài đặt phần Runtime của Crystal Report, chọnYes, install 64-bit runtime hoặc 32-bit tùy theo máy. Xong chọnFinish.
Như vậy, quá trình cài Crystal Report hoàn tất.
Tạo Crystal Report dùng Visual Studio
1.Mở Visual Studio và tạo 1 project mới. 2.Chọn C#.
3.Chọn Windows Desktop Application. 4.Chọn Windows Form Application.
5.Đặt tên cho project làMyFirstReport. ChọnOK. Visual C# Project sẽ hiển thị màn hình làm việc ra cho bạn.
6.Đổi tên form từ Form1 thànhfrmCrystalReport.
Tạo Crystal Report
Các bước dưới đây hướng dẫn các bạn cách tạo mới một Crystal Report. 1.TrongSolution Explorer, chọn project của bạn
2.Nhấp chuột phải vào Project và chọnAdd New Item. ChọnCrystalReports như hình dưới
3.Chọn Reporting Template Group. 4.Scroll và chọn Crystal Report Template. 5.Đật tên làEmployeeList
6.ChọnAdd để tạo Report. Sự lựa chọn này sẽ chuyển bạn sang màn hìnhCrystal Report Gallery.
Crystal Report Gallery
Bạn có thể tạo Report bằng các lựa chọn như màn hình dưới.
Report Wizard.
Using a Report Wizard.
Lựa chọn này sẽ đưa các bạn tớiCrystal Report Wizard, hướng dẫn các bạn từng bước để tạo ra một report.
As a Blank Report
Lựa chọn này sẽ tạo ra một report trống
From an Existing Report
Bạn sẽ chọn một report có sẵn để sử dụng lại.
Report Expert
Standard Format
Lựa chọn này cho phép tạo ra một report chuẩn.
Cross Tab
Lựa chọn này cho phép tạo ra một report đặc biệt được biết làcross tab report.
Mail Label
Lựa chọn này cho phép tạo ra report thực hiện công việc gần giống Mail Merge của
Microsoft Office.
Trong ví dụ này, các bạn hãy chọnReport Wizard vàStandard Expert, sau đó chọnNext. Chúng ta chuyển qua màn hìnhStandard Report Creation Wizard
Standard Report Creation wizard
Hộp thoại dưới đây cho phép bạn chọndata source (nguồn dữ liệu) sẽ được dùng trong report. Bao gồm 3 lựa chọn:
Prject Data
Lựa chọn này sẽ liệt kê các kết nối dữ liệu có sẳn trong project cho bạn chọn.
My Connections
Lựa chọn này sẽ liệt kê các kết nối dữ liệu sử dụng gần đây nhất để bạn có thể chọn nhanh.
Create New Connection
Lựa chọn này cho phép tạo kết nối dữ liệu mới.
Chúng ta sẽ chọnOLE DB (ADO) để kết nối đến nguồn dữ liệu của chúng ta. Nhấp chuột vào dấu cộng (+) nằm bên phải củaOLE DB (ADO). Lựa chọn này sẽ mở ra hộp thoạiOLE DB (ADO) Dialog Box
OLE DB (ADO) Dialog Box
Hộp thoại này sẽ liệt kê các OLE/DB Providers có sẳn. Các bạn chọn OLE/DB Provider phù hợp để kết nối vào DB của mình.
Ở đây tôi chọnSQL Server Native Client 11.0 để kết nối vào SQL Server Database. Tiếp chọnNext.
Trong màn hình này, bạn sẽ phải nhập các thông tin cần thiết để có thể kết nối vào DB.
Nhập thông tin của server, User ID, Password, (nếu bạn chọn Integrated security thì không cần nhập User ID và Password), chọn databasenorthwind từ hộp thoại dropdown. ChọnNext khi hoàn thành.
OLE DB (ADO) Advance Information Dialog Box
Kế tiếp bạn sẽ thấyOLE DB (ADO) Advance Information Dialog Box. Bạn có thể thay đổi các thông số cho phù hợp, rồi chọnFinish để quay trở lạiStandard Report Creation wizard
Standard Report Creation wizard
Trong màn hình này, bạn phải thấy được DBnorthwind. Nếu không thấy, bạn phải kiểm tra lại các bước ở trên.
Chọn dấu cộng (+) để mở các nhánh của nútNorthwind giống hình vẽ. Các Tables, Stored Procedures, Views của DB sẽ tự động hiển thị và sẵn sàng cho report sử dụng. Chọn tableEmployees giống hình minh họa.
2.Chọn nút sang phải (>) để thêm bảng vào report.
Table Employees sẽ xuất hiện trên ô selected tables nằm ở phía bên phải. ChọnNext, bạn sẽ được chuyển sang màn hình Fields Dialog box.
Fields Dialog box
Bạn thực hiện lựa chọn giống hình. Xong chọn nútFinish. Kết quả giống hình dưới
6.3 Tạo Form hiển thị báo cáo bằng CrystalReportViewer
Crystal Report Viewer Control
Trong bước này, chúng ta sẽ hiển thịCrystal Report trong Windows Form của chúng ta. Điều cần làm là thêm controlCrystal Report Viewer vào form.
1.Mở formfrmCrystalReport mà chúng ta đã tạo ở bước trên. 2.Chọn tab Reporting từ thanh Toolbox
3.ChọnCrystalReportView và kéo thả vào form.
Bind Report to Crystal Report Viewer Control
1.MởfrmCrystalReport.
2.Viết code như hình minh họa.
Run Your First Report
CÂU HỎI VÀ BÀI TẬP
1. Cài đặt Visual Studio 2010.?
2. Trình bày các phần chính của Microsoft.NET Framework.? 3. Xây dựng chương trình VB.NET.?
4. Làm việc với các điều khiển trên Toolbox.? 5. Kiến trúc của Windows Forms.?
6. Sử dụng DataSet kết nối CSDL.?
7. Sử dụng DataGridView hiển thị dữ liệu.? 8. Tạo báo cáo bởi Crystal Report.?
CHƯƠNG 5: THIẾT KẾ PHẦN MỀM Mã chương: MHLTV 15.5
Mục tiêu:
Sau khi học xong bài học này, sinh viên có khả năng: - Nêu được khái niệm và vai trò của thiết kế phần mềm. - Phát biểu được tiến trình để triển khai thiết kế.
-Trình bày được các phương pháp thiết kế hệ thống theo hướng chức năng, hướng đối tượng, thiết kế hệ thống thời gian thực, thiết kế giao diện
-Vận dụng các phương pháp thiết kế để giải quyết bài toán phần mềm thực tế
1. Tổng quan về thiết kế phần mềm