Tải bản đầy đủ (.pdf) (12 trang)

Tài liệu DataGrid (phần III) pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (206.62 KB, 12 trang )


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:
<?xml version="1.0" encoding="utf-8" ?>
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 |
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\op
eratorlist.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 <xs:sequence></xs:sequence> bằng cặp Tags <xs:choice
maxOccurs="unbounded"></xs:choice> 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
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:
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:

×