Giáo trình Hướng dẫn lập trình VB.NET - Phạm Đức Lập

Tóm tắt Giáo trình Hướng dẫn lập trình VB.NET - Phạm Đức Lập: ...cnt-44-dh, VIMARU Loop Until strFtemp = "" Thì chương trình không thay đổi kết quả thực thi. 3. Sử dụng bộ định thời TIMER Chúng ta có thể quy định một khối lệnh nào đó chỉ thực hiện trong một thời gian xác định với bộ định thời Timer. Sử dụng thuộc tính Interval và đặt Enalble của điều...eOfText As String 'Tạo bộ lọc file *.txt OpenFileDialog1.Filter = "Text files (*.txt)| *.txt" OpenFileDialog1.ShowDialog() If OpenFileDialog1.FileName "" Then Try 'Mở file để đọc FileOpen(1, OpenFileDialog1.FileName, OpenMode.Input) Do Until EOF(1) 'Đọc từng dòng đến hết ...trong chương học về xử lý file text và chuỗi. Ở đây thay vì gõ đường dẫn của file Readme.txt chúng ta có thể kéo thả nó từ trong dự án của mình. Để kéo thả thì file đó phải hiện lên trong cửa sổ Solution Explorer. Muốn nó hiện lên thì bạn có thể chép nó vào thư mục chứa dự án, trở về cửa sổ So...

pdf222 trang | Chia sẻ: havih72 | Lượt xem: 502 | Lượt tải: 0download
Nội dung tài liệu Giáo trình Hướng dẫn lập trình VB.NET - Phạm Đức Lập, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
H.3. Chọn trường để xây dựng câu lệnh SQL 
H.4. Giao diện Form 
Sau khi nhấn OK, một cửa sổ Generate The SQL Statement hiện ra hiển thị câu lệnh SQL 
ta vừa tạo. Bạn nhấn Finish đê hoàn thành việc tạo đối tượng điều phối. Lúc này giao diện 
có dạng như hình H.4 
1.5. Làm việc với DataSet 
Tiếp theo ta tạo ra đối tượng trình diễn dữ liệu cho người dùng thao tác. Đối tượng này là 
DataSet. Nó là hình ảnh có được từ DataAdapter. Nó chỉ là ảnh của csdl nên mọi thao tác 
của người dùng sẽ chưa ảnh hưởng đến csdl cho đến khi có yêu cầu cập nhật. 
Trong phần tiếp theo của bài tập này chúng ta sẽ tạo đối tượng DataSet trình diễn thông tin 
trong cột Instructor của bảng Instructors trong csdl Students.mdb. 
Bạn nhấp chuột lên form1 để chọn nó. Nếu không chọn nó thì các lệnh tạo DataSet sẽ 
không hiển thị trên menu. 
Chọn Data | Generate DataSet từ menu để làm xuất hiện hộp thoại Generate DataSet như 
hình: 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 206 - Add: cnt-44-dh, 
VIMARU 
Bạn đặt tên nào tùy thích tại ô New, mình chọn là DsInstructors. Chọn ô checkBox Add 
this dataset to the designer để VS đưa dataser vào khay công cụ. 
Nhấn OK và đối tượng DataSet DsINstructors được tạo trên khay công cụ. Lúc này 
VB.NET sẽ tự thêm vào một file có tên DsInstructors.xsd trong cửa sổ Solution Explorer. 
File này chứa các thông tin về dữ liệu theo khuôn dạng XML: 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 207 - Add: cnt-44-dh, 
VIMARU 
H.5. Đối tượng DsInstructors1 được tạo trên khay hệ thống 
Tiếp theo ta sẽ học cách để hiển thị dữ liệu trong dataset này lên form. 
2. Sử dụng các điều khiển ràng buộc dữ liệu 
Tiếp theo ta sẽ dùng các điều khiển quen thuộc như Textbox, Label, Button để trình bày cơ 
sở dữ liệu lên form. Để trình bày được như thế ta cần phải làm một thao tác gọi là ràng 
buộc dữ liệu (data binding), nghĩa là dữ liệu hiển thị lên trong các điều khiển sẽ phụ thuộc 
vào nguồn dữ liệu có trong DataSet hay DataAdapter. 
Bạn có thể ràng buộc dữ liệu với các điều khiển sau: TextBox, Label, ListBox, ComboBox, 
RadioButon, DataGrid và PictureBox. Trong đó đặc biệt và hữu ích nhất có lẽ là DataGrid 
vì nó cho phép bạn hiển thị toàn bộ nội dung của DataSet. 
Trong bài tập này, chúng ta sẽ ràng buộc dữ liệu vào TextBox để hiển thị thông tin trong 
bảng Instructors của csdl Students.mdb. 
Bạn thiết kế giao diện form như hình trên. Trong đó thuộc tính của các điều khiển như sau: 
- Button First: Name – btnFirst, enable – False 
- Button Last: Name – btnLast, enable – False 
- Button Next: Name – btnNext, enable – False 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 208 - Add: cnt-44-dh, 
VIMARU 
- Button Previous: Name – btnPrevious, enable – False 
- Button Load Data: Name – btnLoadData 
- TextBox1: Name - txtInstructors 
Các điều khiển còn lại có thuộc tính như hình. 
Bây giờ ta sẽ tiến hành ràng buộc dữ liệu là các trường (cột dữ liệu – field) vào textbox 
txtInstructors. 
Để làm điều này, bạn chọn ô textbox và mở Properties của nó ra. Click vào dấu (+) bên 
cạnh nhánh thuộc tính DataBindings và chọn ô text, Click vào nút mũi tên đi xuống và bạn 
có thể nhìn thấy nguồn dữ liệu DsInstructors1 hiển thị trong danh sách: 
Nhấn chọn cột Instructor để chỉ định trường này sẽ hiển thị trong ô textbox txtInstructor. 
Như vậy ta đã ràng buộc xong, tiếp theo cần viết mã để xuất dữ liệu khi chương trình thực 
thi. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 209 - Add: cnt-44-dh, 
VIMARU 
Để làm được điều đó, chúng ta tạo thủ tục btnLoadData_Click bằng cách trở lại cửa sổ 
thiết kế form và double click vào nút Load Data rồi nhập đoạn mã sau: 
 DsInstructors1.Clear() 
 OleDbDataAdapter1.Fill(DsInstructors1) 
 btnFirst.Enabled = True 
 btnLast.Enabled = True 
 btnNext.Enabled = True 
 btnPrevious.Enabled = True 
Chúng ta viết mã để xóa sạch dữ liệu mà DataSet DsInstructors1 nắm giữ trước đây. Tiếp 
theo khiến bộ điều phối DataAdapter1 điền dữ liệu vào đối tượng DataSet DsInstructors1 
mà chúng ta đã tạo ra ở bước 3 bằng phương thức Fill(). 
Chạy thử chương trình: 
Bạn nhấn F5 để kiểm thử chương trình. Khi chương trình chạy, bạn nhắp vào nút Load 
Data để chương trình hiển thị bản ghi đầu tiên của trường Instructor trong bảng dữ liệu: 
Tiếp theo chúng ta sẽ mở rộng một số chức năng khác của ứng dụng cơ sở dữ liệu thuần 
túy như duyệt qua các bản ghi, đếm và hiển thị số bản ghi hiện hành. 
Như vậy quá trình thao tác csdl có thể tóm tắt như sau: thứ nhất, tạo kết nối đến csdl cần 
truy xuất; thứ hai tạo đối tượng điều phối DataAdapter; thứ ba, tạo đối tượng trình diễn 
DataSet; cuối cùng là ràng buộc dữ liệu vào các điều khiển cho phép ràng buộc. Nếu trong 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 210 - Add: cnt-44-dh, 
VIMARU 
các bài tập yêu cầu cập nhật, thống kê, tìm kiếm,  thì còn có bước nữa là tiến hành xử lý 
các thao tác cập nhật, thống kê, tìm kiếm,  theo yêu cầu của bài. 
3. Tạo các điều khiển duyệt xem dữ liệu 
Trong bài tập này, chúng ta mới chỉ dừng lại ở việc ràng buộc dữ liệu và hiển thị được bản 
ghi đầu tiên vào ô textbox mà thôi. Trong phần tiếp theo chúng ta sẽ tạo ra các nút cho 
phép duyệt qua các bản ghi khác nhau, xem bản ghi đầu tiên cũng như cuối cùng. 
ADO.NET cho phép quản lý và duyệt qua các bản ghi (record) bằng đối tượng 
CurrentManager. Với đối tượng này bạn có thể biết được vị trí hiện hành, đi đến mẩu tin 
sau cùng hay trở về mẩu tin đầu tiên cũng như đến mẩu tin kế tiếp hay ở trước. Mỗi 
DataSet đều có sẵn đối tượng CurrentManager và mỗi đối tượng form đều có thuộc tính 
BindingContext theo dõi tất cả đối tượng CurrentManager trên form. 
Bây giờ trở lại bài tập của chúng ta. Trong phần trước chúng ta đã tạo ra bốn nút nhấn 
mang tên First, Last, Next, Previous. Giờ chúng ta sẽ viết mã cho chúng sử dụng đối tượng 
BindingContext, CurrentManager để duyệt qua các bản ghi. 
Trước hết tạo thủ tục btnFirst_Click với nội dung như sau: 
 Me.BindingContext(DsInstructors1, _ 
 "Instructors").Position = 0 
 btnFirst.Enabled = False 
 btnNext.Enabled = True 
 btnLast.Enabled = True 
Cú pháp này hiển thị bản ghi đầu tiên của DsInstructors1 sử dụng đối tượng 
BindingContext. Nó gán giá trị 0 cho thuộc tính Position để con trỏ hiện hành của dữ liệu 
chuyển đến bản ghi đầu tiên. 
Tạo thủ tục btnLast_Click và nhập đoạn mã sau: 
 'Đếm tổng số bản ghi 
 Dim tongsobanghi As Integer = Me.BindingContext _ 
 (DsInstructors1, "Instructors").Count 
 'Chuyển con trỏ đến bản ghi cuối cùng 
 Me.BindingContext(DsInstructors1, _ 
 "Instructors").Position = tongsobanghi - 1 
 btnLast.Enabled = False 
 btnFirst.Enabled = True 
 btnPrevious.Enabled = True 
 btnNext.Enabled = False 
Tạo thủ tục btnNext_Click và nhập vào đoạn mã sau: 
 'Đếm số bản ghi hiện hành 
 Dim tongsobanghi As Integer = Me.BindingContext _ 
 (DsInstructors1, "Instructors").Count 
 'Nếu chưa phải là bản ghi cuối thì next lên 1 
 If Me.BindingContext(DsInstructors1, _ 
 "Instructors").Position < tongsobanghi - 1 Then 
 Me.BindingContext(DsInstructors1, _ 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 211 - Add: cnt-44-dh, 
VIMARU 
 "Instructors").Position += 1 
 btnFirst.Enabled = True 
 btnPrevious.Enabled = True 
 btnLast.Enabled = True 
 Else 
 btnNext.Enabled = False 
 btnLast.Enabled = False 
 btnFirst.Enabled = True 
 btnPrevious.Enabled = True 
 End If 
Thủ tục btnPrevious_Click: 
 'Nếu chưa phải là bản ghi đầu thì lùi lại 1 
 If Me.BindingContext(DsInstructors1, _ 
 "Instructors").Position > 0 Then 
 Me.BindingContext(DsInstructors1, _ 
 "Instructors").Position -= 1 
 btnFirst.Enabled = True 
 btnLast.Enabled = True 
 btnNext.Enabled = True 
 Else 
 btnFirst.Enabled = False 
 btnPrevious.Enabled = False 
 End If 
Vậy là chúng ta đã tạo xong các nút cho phép duyệt qua các bản ghi. Bây giờ chúng ta 
chạy thử chương trình. 
Chạy chương trình: 
Bạn nhấn F5 để chạy chương trình. Ấn nút Load Data để hiển thị dữ liệu vào textbox. Ấn 
các phím để duyệt qua các bản ghi trong cơ sở dữ liệu. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 212 - Add: cnt-44-dh, 
VIMARU 
Bạn nhấn nút Close ở góc phải trên của form để đóng chương trình lại. 
Bây giờ để cụ thể hơn nữa chúng ta sẽ tạo điều khiển label cho hiển thị vị trí bản ghi hiện 
hành để người dùng tiện quan sát. 
4. Hiển thị vị trí của bản ghi hiện hành 
Ngoài việc cung cấp cơ chế duyệt xem các bản ghi, ta cũng cần cho người dùng biết đó là 
bản ghi thứ mấy. Bây giờ chúng ta sẽ thêm một nhãn Label để hiển thị thứ tự của bản ghi. 
Bạn mở thiết kế form và thêm vào một nhãn label1 có thuộc tính Name là 
lblIndexOfRecord, thuộc tính Text của nhãn là “Record 0 of 0”. Giao diện như hình: 
Ta tạo một thủ tục có tên count() ở ngay dưới phát biểu khai báo form1 như sau: 
 Private Sub Count() 
 Dim tongsobanghi, banghihienhanh As Integer 
 tongsobanghi = Me.BindingContext _ 
 (DsInstructors1, "Instructors").Count 
 banghihienhanh = Me.BindingContext _ 
 (DsInstructors1, "Instructors").Position + 1 
 lblIndexOfRecord.Text = "Record " & _ 
 banghihienhanh.ToString & "Of " & tongsobanghi.ToString 
 End Sub 
Thủ tục này sẽ gán thuộc tính count của đối tượng BindingContext vào biến tongsobanghi 
và thuộc tính Position của nó cho biến banghihienhanh nhưng cộng thêm 1 vì thứ tự bản 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 213 - Add: cnt-44-dh, 
VIMARU 
ghi trong bảng dữ liệu được tính từ 0. Sau đó hai giá trị của hai biến trên được gán cho 
thuộc tính Text của điều khiển Label lblIndexOfRecord. 
Để thủ tục này phát huy tác dụng thì bạn sẽ thêm lời gọi thủ tục này trong các thủ tục khác 
như btnFirst_Click, btnLast_Click, btnPrevious_Click, btnNext_Click như sau: 
 Count() 
Chương trình của chúng ta đến đây là hoàn thiện. Bạn có thể chạy thử để kiểm tra. 
Chạy chương trình: 
Bạn nhấn F5 để chạy chương trình. Ấn nút Load Data để hiển thị dữ liệu. Sau đó bạn hãy 
nhấn các nút di chuyển để duyệt qua các bản ghi và xem thứ tự của bản ghi đó trong bảng 
dữ liệu, kết quả: 
5. Tổng kết chương 19 
Bạn làm bảng tổng kết những gì đã học. Tổng kết một lần nữa các bước để có thể trình 
diễn dữ liệu trong form. 
Đây mới chỉ là kỹ thuật lập trình đơn giản nhất của ADO.NET, trong phần sắp tới chúng ta 
sẽ học về DataGrid để trình diễn dữ liệu ở mức độ cao hơn. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 214 - Add: cnt-44-dh, 
VIMARU 
Chương 20: 
Trình diễn dữ liệu sử dụng điều khiển DataGrid 
--------oOo-------- 
Nội dung thảo luận: 
- Tạo đối tượng DataGrid trên form và sử dụng để hiển thị các bản ghi trong csdl 
- Sắp xếp dữ liệu các bản ghi theo cột 
- Thay đổi định dạng và màu sắc của các ô trong khung lưới dữ liệu DataGrid 
DataGrid là đối tượng trình diễn dữ liệu rất hiệu quả. Nó có dạng khung lưới cho phép tình 
diễn toàn bộ nội dung của tập dữ liệu DataSet. 
Chú ý: 
- Đối tượng DataGrid cho phép trình diễn dữ liệu theo dạng khung lưới như excel. 
- Bạn không cần thêm các lệnh xử lý phụ với DataGrid. Tất cả dữ liệu được quản 
lý bởi DataAdapter và DataSet ở tầng dưới. 
1. Sử dụng DataGrid để hiển thị dữ liệu trong bảng 
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 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. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 215 - Add: cnt-44-dh, 
VIMARU 
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: 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 216 - Add: cnt-44-dh, 
VIMARU 
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 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. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 217 - Add: cnt-44-dh, 
VIMARU 
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. 
Ngay sau khi bạn chọn xong hai thuộc tính DataSource và DataMember thì 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ướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 218 - Add: cnt-44-dh, 
VIMARU 
H.1. Chọn DsInstructors1 cho thuộc tính DataSource 
H.2. Chọn Instructors cho thuộc tính DataMember 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 219 - Add: cnt-44-dh, 
VIMARU 
H.3. Cửa sổ form khi thiết kế xong 
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. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 220 - Add: cnt-44-dh, 
VIMARU 
2. Định dạng các ô lưới trong DataGrid 
Bạn có thể định dạng các thành phần trong DataGrid thông qua thuộc tính của nó lúc thiết 
kế hay khi thực thi chương trình.. Chúng ta sẽ làm điều này với bài tập trên. 
Bạn trở lại cửa sổ thiết kế form và mở thuộc tính Properties của khung lưới DataGrid. 
Đặt thuộc tính PreferredColumnWidth là 110 (rộng 110 đơn vị đo Pixel). 
Bạn đặt thuộc tính ColumnHeadersVisible là False. Với thiết lập này thì phần tiêu đề của 
các cột sẽ không hiển thị. 
Nhấn chọn thuộc tính BackColor, chọn màu vàng nhạt hiển thị cho nội dung chuỗi chứa 
trong ô lưới tạo các dòng xen kẽ nhau. 
Đặt thuộc tính GridLineColor, chọn màu xanh. 
Còn rất nhiều thuộc tính khác bạn có thể tìm hiểu thêm. Giờ bạn hãy chạy chương trình để 
xem những thay đổi: 
3. Cập nhật cơ sở dữ liệu trở lại bảng 
DataSet chỉ tiến hành sao chép bảng của csdl chứ không làm thay đổi nội dung csdl cho 
đến khi có yêu cầu cập nhật bằng phương thức UpDate. Cùng với thuộc tính ReadOnly của 
DataSet sẽ cho phép có thay đổi hay không với csdl. 
Bây giờ chúng ta sẽ tiến hành tìm hiểu những điều đó. 
Trở lại cửa sổ thiết kế form và mở thuộc tính properties của DataGrid và thiết lập giá trị 
TRUE đối với thuộc tính ReadOnly cho phép có những thay đổi dữ liệu trong khung lưới. 
Tiến hành đặt một nút nhấn nữa lên form. Thuộc tính như sau: Name – btnUpdate, Text – 
“Update”. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 221 - Add: cnt-44-dh, 
VIMARU 
Nút nhấn Update sẽ hiển thị khi có những thay đổi trong DataGrid và tiến hành cập nhật 
trở lại cơ sở dữ liệu khi người dùng click vào nó. 
Tạo thủ tục btnUpdate_Click và nhập nội dung như sau: 
 Try 
 OleDbDataAdapter1.Update(DsInstructors1) 
 Catch ex As Exception 
 MsgBox(ex.ToString) 
 End Try 
Thủ tục này sử dụng phương thức Update của OleDbDataAdapter1 để yêu cầu các thay đổi 
trong tập DataSet DsInstructors1 trở lại bảng csdl. 
Chạy chương trình: 
Nhấn F5 để chạy chương trình. Bạn thay đổi nội dung một cột nào đó hay có thể thêm một 
bản ghi nữa và click vào nút Update để cập nhật vào csdl. Sau đó lại click vào nút Load 
Data để xem csdl có thay đổi gì không. 
4. Tổng kết chương 20 
Bạn có thể làm lại những ví dụ trên hay tự tạo cho mình những bài khác có liên quan đến 
truy xuất csdl. 
Trong thời gian tới mình sẽ đưa đến cho các bạn những chương trình xử lý nâng cao với 
đầy đủ phân tích thiêt kế hệ thống, csdl cũng như mã nguồn để các bạn tham khảo. Các bài 
toán đó mình tổng hợp được như: bài toán vé máy bay, quản lý khách sạn, quản lý sách, 
phần mềm bán hàng, . Mời các bạn đón đọc. 
Hướng dẫn lập trình VB.NET Chương 1: Mở và chạy một chương trình vs.net 
Biên soạn: Phạm Đức Lập - 222 - Add: cnt-44-dh, 
VIMARU 

File đính kèm:

  • pdfgiao_trinh_huong_dan_lap_trinh_vb_net_pham_duc_lap.pdf