Tài liệu tham khảo VB.NET

Bạn nên có CPU Pentium III, 500MHz trở lên, với 256MB RAM và ít nhất 10GB

Harddisk. Về OS bạn nên dùng Windows 2000 (Professional hay Server) hay

Windows XP. Lý do chính là các versions Windows nầyhổ trợ Unicode và có Internet

Information Server (IIS) hổ trợ ASPX để ta dùng choASP.NET.

Mở các Samples của QuickStart

Trước khi expand Samples của Quickstart bạn cần phải cài đặt IIS. Nếu chưa làm

việc ấy bạn bỏ CD của Windows2000 hay WindowsXP vàođể install IIS component.

QuickStart Samples của .NET Framework chứa các giảithích căn bản và nhiều thí dụ.

pdf149 trang | Chuyên mục: Visual Basic 6.0 | Chia sẻ: dkS00TYs | Lượt xem: 2204 | Lượt tải: 4download
Tóm tắt nội dung Tài liệu tham khảo VB.NET, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
t Element gốc (root) mà ta sẽ 
gọi nó là operatorlist. 
Bạn hãy drag icon E Element từ XML Schema Toolbox vào khung vàng nhạt và sửa 
tên của Element đó thành operatorlist. Kế đó nắm góc trái trên (top left) của hình 
Element oparator và drag drop nó vào ngay hàng dưới chữ operatorlist của Element 
operatorlist. Bạn sẽ thấy hình dưới đây: 
Nếu bây giờ bạn click Tab XML phía dưới của khung vàng nhạt bạn sẽ thấy mã 
nguồn XML của Schema operatorlist.xsd như sau: 
 Tài liệu tham khảo VB.NET 
 140 
Mã nguồn XML của Schema operatorlist.xsd cho thấy Element operatorlist là 
Element gốc (root) còn gọi là DocumentElement của XML nầy. Bên trong Element 
operatorlist có Element operator. Mỗi Element operator có những Attributes là 
operatorid, username, password và level. Để ý datatype của Attributes 
operatorid và level là integer. 
Trở lại hình của Schema bằng cách click Tab Schema phía dưới, ta thấy hàng đầu 
tiên của mỗi khung chữ nhật chứa tên của Element chủ của khung ấy. Từ hàng thứ 
nhì trở xuống là định nghĩa những gì thuộc về Element ấy. 
(còn tiếp) 
Bài 15 
DataGrid (phần III) 
Edit XML file dựa trên XML Schema 
Sau khi xác định cấu trúc và datatypes của các Elements và Attributes của table 
operator, bây giờ ta sẽ cho data vào table ấy. Bạn hãy dùng IDE menuCommand 
Project | Add New Item để thêm một XML file (click lên icon XML file) vào 
project. Sửa Name của file ấy từ XMLFile1 thành alarmlist.xml. 
Right click lên trang trống của XML, chỉ mới có câu: 
 Tài liệu tham khảo VB.NET 
 141 
Chọn PopupMenu command Properties để hiển thị dialog DOCUMENT Property 
Pages. 
Trong cái Dropdown Combo, chọn  làm 
Target Schema cho operatorlist.xml của chúng ta. Sau đó bạn sẽ thấy Element 
operatorlist có thêm một Attribute mới tên xmlns (chữ ns trong xmlns là viết tắc 
cho namespace) với trị số  Điều nầy có nghĩa là 
ta áp đặt Schema operatorlist.xsd lên cấu trúc và các dữ kiện bên trong XML file 
operatorlist.xml. 
Bây giờ, bạn có thể bắt đầu đánh data vào trang operatorlist.xml. Để ý là vì IDE biết 
ta đang dùng Schema operatorlist.xsd, nên nó có thể áp dụng Intellisense để giúp 
ta edit chính xác và nhanh như trong hình dưới đây: 
Mỗi khi bạn đánh xong opening Tag operator là closing Tag của nó tự động hiện 
ra. Bên trong opening Tag của operator, Intellisense sẽ hiển thị tên các Attributes để 
bạn chọn. Mỗi khi bạn đánh dấu = sau tên một Attribute thì IDE sẽ tự động insert 
một cặp dấu ngoặc kép. 
Sau khi đánh xong dữ kiện của một số operators, nếu bạn click MenuCommand XML 
 Tài liệu tham khảo VB.NET 
 142 
| Validate XML Data để IDE validate các dữ kiện ta vừa mới cho vào để xem nó có 
đúng như định nghĩa trong cái Schema operatorlist.xsd không thì sẽ thấy IDE than 
phiền như sau: 
E:\NET\HongDevelopment\LessonPreparation\Operators\operatorlist.xml(4): Element 
' has invalid child element 
' 
Đó là vì trong Schema không có nói rõ là bên trong Element operatorlist có nhiều 
Element operator. Để giải quyết trở ngại nầy ta phải edit trực tiếp trong mã nguồn 
XML của Schema. Bạn hãy doubleclick lên file name operatorlist.xsd của Solution 
Explorer và nếu cần thì click Tab XML của trang Schema để hiển thị mã nguồn XML 
của operatorlist.xsd. 
Thay thế cái cặp Tags bằng cặp Tags 
 như trong hình dưới đây 
để nói rằng có nhiều Elements operator trong Element operatorlist : 
Typed Dataset 
Trong bài 13 ta đã tạo Dataset từ Schema bằng cách dùng IDE MenuCommand XML 
| Schema Generate Dataset. Sau đó mỗi khi muốn nói đến một datafield của 
record ta dùng tên của datafield ấy. Thí dụ để nói đến datafield description trong 
DataRowView drv ta viết như sau: 
 Label1.Text = drv("description") 
Một cách viết dễ đọc và tự nhiên hơn là: 
 Label1.Text = drv.description 
 Tài liệu tham khảo VB.NET 
 143 
Coding cách nầy được thêm lợi điểm là ngay trước khi chạy chương trình, compiler 
sẽ cho biết ngay nếu ta đánh vần không đúng chữ description chẳng hạn. Thêm 
nữa, Intellisense có thể hổ trợ ta trong lúc đánh code vào bằng cách hiển thị danh 
sách của tất cả datafields của drv. So với trường hợp ta dùng tên datafield, nếu đánh 
vần không đúng chữ description thì cho đến run-time chương trình mới khám phá 
ra việc ấy. 
Loại Dataset cho phép ta code drv.description được gọi là Typed Dataset và ta 
có thể phát sinh (generate) nó từ Schema của XML file bằng cách dùng line 
command: 
 xsd.exe /d /l:VB operatorlist.xsd /n:operatorlistDS 
Ở đây ta dùng chương trình dụng cụ xsd.exe để phát sinh từ Schema 
operatorlist.xsd một dataset trong ngôn ngữ (language) lập trình VB với 
namespace tên operatorlistDS. 
Nếu bạn không thấy xsd.exe thì tìm nó trong folder \Program Files\Microsoft 
Visual Studio .NET\FrameworkSDK\Bin rồi có thể copy nó vào project folder. 
Lưu ý là bản xsd.exe dùng trong final version của VS.NET thì khác với bản xsd.exe 
dùng trong version Beta 2. 
Kế đó, bạn có thể thêm Typed Dataset nầy vào project bằng cách dùng IDE 
MenuCommand Project | Add Existing Item rồi chọn operatorlist.vb từ project 
folder. 
Dùng Dataform wizard để phát sinh form từ Dataset 
Ta sẽ dùng Dataform Wizard để generate một dataform. Nhưng trước đó, ta cần phải 
compile project với IDE menuCommand Build | Build Operators để chốc nữa 
Wizard thấy được Typed Dataset. 
Bạn hãy dùng IDE MenuCommand Project | Add Windows Form, click lên icon 
Data Form Wizard và đổi Name của form thành frmOperator.vb như trong hình 
dưới đây: 
 Tài liệu tham khảo VB.NET 
 144 
Tiếp theo đó bạn sẽ thấy Data Form Wizard dialog với tên của Typed Dataset hiện ra 
trong ComboBox của Option Use the following dataset: như dưới đây: 
Để y nguyên và click Next: 
 Tài liệu tham khảo VB.NET 
 145 
Click Checkbox Include an Update button, rồi click Next: 
Để y nguyên và click Next: 
 Tài liệu tham khảo VB.NET 
 146 
Chọn các options như trong hình bên trên rồi click Finish. 
Form frmOperator sẽ được generated và tự động cho vào Project. Bây giờ bạn hãy 
right click lên tên file Form1.vb trong Solution Explorer để delete nó và right click 
tên project Operators rồi chọn command Properties từ PopupMenu để đổi 
Startup object thành frmOperator. Kế đó hãy sắp xếp các object trên form 
frmOperator cho gọn lại như trong hình dưới đây: 
 Tài liệu tham khảo VB.NET 
 147 
Để hiển thị các operator records như một Spreadsheet phía dưới, bạn hãy thêm một 
DataGrid tên DataGrid1 vào form. Và để dấu các chữ của Password trong 
Dataform, ta sẽ Edit Property PasswordChar của TextBox editpassword thành * 
như dưới đây: 
Để load data vào DataForm sau khi khởi động chương trình bạn hãy doubleclick lên 
button Load rồi viết code sau đây cho Event Click: 
Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles btnLoad.Click 
 ' Read operator data from XML file 
 Me.objoperatorlist.ReadXml("..\operatorlist.xml") 
 ' Bind DataGrid1's Datasource to table operator 
 DataGrid1.SetDataBinding(Me.objoperatorlist, "operator") 
 ' Define our owned display style. Do not display Passwords 
 AddCustomDataTableStyle() 
 ' Display current record position 
 Me.objoperatorlist_PositionChanged() 
End Sub 
Ta sẽ gọi một Sub AddCustomDataTableStyle để hiển thị các records của 
operators trong DataGrid1. RowHeaders của DataGrid1 sẽ được để yên visible để 
cho user có thể click bên trái một record khi muốn làm việc với record ấy. Đồng thời 
ta cũng cố ý không hiển thị Datafield password. 
Coding của Sub AddCustomDataTableStyle được liệt kê dưới đây: 
Private Sub AddCustomDataTableStyle() 
 ' Instantiate a DataGridTableStyle object 
 Dim ts1 As New DataGridTableStyle() 
 ' Map table operator to it 
 ts1.MappingName = "operator" 
 ' Set other properties. 
 ts1.AlternatingBackColor = Color.Beige 
 ' Add a first column style. 
 Dim TextCol1 As New DataGridTextBoxColumn() 
 TextCol1.MappingName = "operatorid" 
 TextCol1.HeaderText = "OperId" 
 TextCol1.Width = 50 
 Tài liệu tham khảo VB.NET 
 148 
 ts1.GridColumnStyles.Add(TextCol1) 
 DataGrid1.TableStyles.Add(ts1) 
 ' Add a second column style. 
 Dim TextCol2 As New DataGridTextBoxColumn() 
 TextCol2.MappingName = "username" 
 TextCol2.HeaderText = "Operator" 
 TextCol2.Width = 120 
 ts1.GridColumnStyles.Add(TextCol2) 
 ' Add a third column style. 
 Dim TextCol3 As New DataGridTextBoxColumn() 
 TextCol3.MappingName = "level" 
 TextCol3.HeaderText = "Level" 
 TextCol3.Width = 35 
 ts1.GridColumnStyles.Add(TextCol3) 
 ' Now add ts1 to the Datagrid1's collection of TableStyles 
 DataGrid1.TableStyles.Add(ts1) 
End Sub 
Bây giờ hãy chạy chương trình và click nút Load. Data của các operators sẽ được 
loaded vào cả DataForm lẫn DataGrid1. Khi bạn click các nút navigators để di 
chuyển đến record sau hay record trước, cái hình tam giác nho nhỏ trong DataGrid 
RowHeaders nằm bên trái DataGrid1 cũng di chuyển theo như trong hình dưới đây: 
Ngược lại, khi bạn click bên trái một row trong DataGrid1, DataForm sẽ hiển thị chi 
tiết các dữ kiện của record ấy. Tuy nhiên hàng chữ cho biết vị trí của record (nằm 
giữa các nút navigators) vẫn không được thay đổi theo. 
Để giải quyết chuyện đó ta tạm dùng Event TextChanged của TextBox 
editoperatorid như sau: 
Private Sub editoperatorid_TextChanged(ByVal sender As System.Object, ByVal 
 Tài liệu tham khảo VB.NET 
 149 
e As System.EventArgs) Handles editoperatorid.TextChanged 
 ' Show position of current record 
 objoperatorlist_PositionChanged() 
End Sub 
Để cho đầy đủ, ta cũng sẽ viết code cho Event Click của button Update để lưu trử 
data trong một XML file tên operatorlistNew.xml: 
Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles btnUpdate.Click 
 ' Accept all changes in Dataset 
 Me.objoperatorlist.AcceptChanges() 
 ' Write Dataset to XML file 
 Me.objoperatorlist.WriteXml("..\operatorlistNew.xml") 
End Sub 
Bạn có thể tải về chương trình Operators nầy tại đây. 

File đính kèm:

  • pdfTài liệu tham khảo VB.NET.pdf
Tài liệu liên quan