Viewing .NET Data - Visual Studio và Data Access – Phần 4
Số trang: 13
Loại file: pdf
Dung lượng: 140.36 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tạo Tables và Rows Ví dụ XSD dễ dàng hơn trong chương chỉ đoạn mã được viết ra khi visual studio editor được dùng để tạo một tập hợp lớp truy cập dữ liệu, và bạn sẽ được vui với đoạn mã cho các lớp này như sau: public class CustomerTable : DataTable { public CustomerTable() : base("Customers") { this.Columns.Add("CustomerID", typeof(string)); this.Columns.Add("CompanyName", typeof(string));this.Columns.Add("ContactName", typeof(string)); } protected override System.Type GetRowType() { return typeof(CustomerRow); } protected builder) { return(DataRow) new CustomerRow(builder); } } ...
Nội dung trích xuất từ tài liệu:
Viewing .NET Data - Visual Studio và Data Access – Phần 4 Viewing .NET DataVisual Studio và Data Access – Phần 4Tạo Tables và RowsVí dụ XSD dễ dàng hơn trong chương chỉ đoạn mã được viết ra khi visualstudio editor được dùng để tạo một tập hợp lớp truy cập dữ liệu, và bạn sẽđược vui với đoạn mã cho các lớp này như sau:public class CustomerTable : DataTable{ public CustomerTable() : base(Customers) { this.Columns.Add(CustomerID, typeof(string)); this.Columns.Add(CompanyName, typeof(string)); this.Columns.Add(ContactName, typeof(string)); } protected override System.Type GetRowType() { return typeof(CustomerRow); } protected override DataRow NewRowFromBuilder(DataRowBuilderbuilder) { return(DataRow) new CustomerRow(builder); }}Điều cần thíêt đầu tiên của một DataTable là bạn override phương thứcGetRowtype(). Nó được dùng bởi các đặc tính .NET khi tạo các dòng mớicho bảng. Bạn nên trả về kiểu của lớp dùng để mô tả mọi hàng.Điều cần thiết tiếp theo là bạn thực thi phương thức NewRowFromBuilder(),đựơc gọi lại khi tạo ra các hàng mới cho bảng. Bấy nhiêu đủ cho một sự thựcthi nhỏ. Sự thực thi của chúng ta bao gồm thêm các cột vào DataTable. từkhi chúng ta biết các cột trong ví dụ này là gì, chúng ta có thể thêm chúngcho phù hợp. Lớp CustomerRow thì khá đơn giản. Nó thực thi các thuộc tínhcho mọi cột trong hàng, và sau đó thực thi các phương thức để hiển thị trênmenu ngữ cảnh:public class CustomerRow : ContextDataRow{ public CustomerRow(DataRowBuilder builder) : base(builder) { } public string CustomerID { get { return (string)this[CustomerID];} set { this[CustomerID] = value;} } // Other properties omitted for clarity [ContextMenu(Blacklist Customer)] public void Blacklist() { // Do something } [ContextMenu(Get Contact,Default=true)] public void GetContact() { // Do something else }}Lớp thừa hưởng từ ContextDataRow bao gồm các phương thức getter/settertrên các thuộc tính được đặt tên cùng với mọi trường và sau đó một tậpphương thức sẽ được thêm để được dùng khi phản hồi trên lớp: [ContextMenu(Blacklist Customer)] public void Blacklist() { // Do something }Mọi phương thức mà bạn muốn hiển thị trên menu ngữ cảnh có cùng kiểu vàbao gồm attribute ContextMenu tuỳ biến.Sử dụng một AttributeÝ tưởng sau viết attribute ContextMenu là để cung cấp một tên văn bản tựdo cho một tuỳ chọn menu. Ta thực thi một cờ Default để cho biết sự chọnlựa menu mặc định. Lớp attribute được mô tả như sau:[AttributeUsage(AttributeTargets.Method,AllowMultiple=false,Inherited=true)]public class ContextMenuAttribute : System.Attribute{ public ContextMenuAttribute(string caption) { Caption = caption; Default = false; } public readonly string Caption; public bool Default;}Ở đây, attribute AttributeUsage trên lớp đánh dấu ContextMenuAttrinbutenhư chỉ có thể dùng trong một phương thức, và nó cũng định nghĩa là chỉ cómột thể hiện của đối tượng này trên bất kỳ phương thức nào.Bạn có thể nghĩ về một số lượng các thành viên khác để thêm vào attributenày như là: một hotkey cho tuỳ chọn menu Một hình ảnh để hiển thị Vài văn bản đểhiển thị trong thanh công cụ Một help context ID Dispatching MethodsKhi một menu được hiển thị trong .NET, mọi tuỳ chọn menu được liên kếtvới mã xử lý. Trong quá trình thực thi cơ chế móc menu chọn đến mã, bạncó hai chọn lựa như sau: Thực thi một phương thức với cùng dạng như System.EventHandler. public delegate void EventHandler(object sender, EventArgs e); Định nghĩa một lớp đại diện thực thi và gọi đến lớp nhận. Nó được biết như mẫu Command.Mẫu Command tách người gửi và người nhận của sự gọi bằng các phươngtiện của một lớp đơn giản. Nó tạo nên các phương thức trên mọi DataRowđơn giản hơn, và nó có thể mở rộng hơn:public class MenuCommand{ public MenuCommand(object receiver, MethodInfo method) { Receiver = receiver; Method = method; } public void Execute(object sender, EventArgs e) { Method.Invoke(Receiver, new object[] {} ); } public readonly object Receiver; public readonly MethodInfo Method;}Lớp cung cấp một delegate EventHandler để gọi phương thức trên đối tượngnhận .Ví dụ của chúng ta sử dụng hai kiểu hàng khác nhau: Hàng từ bảngCustomer và hàng từ bảng Orders. Các tuỳ chọn xử lý cho mọi kiểu dữ liệunày từ giống đến khác. Hình ảnh trên trình bày các tác vụ cho một hàngCustomer. Hình bên dưới trình bày các tuỳ chọn cho một hàng Order: ...
Nội dung trích xuất từ tài liệu:
Viewing .NET Data - Visual Studio và Data Access – Phần 4 Viewing .NET DataVisual Studio và Data Access – Phần 4Tạo Tables và RowsVí dụ XSD dễ dàng hơn trong chương chỉ đoạn mã được viết ra khi visualstudio editor được dùng để tạo một tập hợp lớp truy cập dữ liệu, và bạn sẽđược vui với đoạn mã cho các lớp này như sau:public class CustomerTable : DataTable{ public CustomerTable() : base(Customers) { this.Columns.Add(CustomerID, typeof(string)); this.Columns.Add(CompanyName, typeof(string)); this.Columns.Add(ContactName, typeof(string)); } protected override System.Type GetRowType() { return typeof(CustomerRow); } protected override DataRow NewRowFromBuilder(DataRowBuilderbuilder) { return(DataRow) new CustomerRow(builder); }}Điều cần thíêt đầu tiên của một DataTable là bạn override phương thứcGetRowtype(). Nó được dùng bởi các đặc tính .NET khi tạo các dòng mớicho bảng. Bạn nên trả về kiểu của lớp dùng để mô tả mọi hàng.Điều cần thiết tiếp theo là bạn thực thi phương thức NewRowFromBuilder(),đựơc gọi lại khi tạo ra các hàng mới cho bảng. Bấy nhiêu đủ cho một sự thựcthi nhỏ. Sự thực thi của chúng ta bao gồm thêm các cột vào DataTable. từkhi chúng ta biết các cột trong ví dụ này là gì, chúng ta có thể thêm chúngcho phù hợp. Lớp CustomerRow thì khá đơn giản. Nó thực thi các thuộc tínhcho mọi cột trong hàng, và sau đó thực thi các phương thức để hiển thị trênmenu ngữ cảnh:public class CustomerRow : ContextDataRow{ public CustomerRow(DataRowBuilder builder) : base(builder) { } public string CustomerID { get { return (string)this[CustomerID];} set { this[CustomerID] = value;} } // Other properties omitted for clarity [ContextMenu(Blacklist Customer)] public void Blacklist() { // Do something } [ContextMenu(Get Contact,Default=true)] public void GetContact() { // Do something else }}Lớp thừa hưởng từ ContextDataRow bao gồm các phương thức getter/settertrên các thuộc tính được đặt tên cùng với mọi trường và sau đó một tậpphương thức sẽ được thêm để được dùng khi phản hồi trên lớp: [ContextMenu(Blacklist Customer)] public void Blacklist() { // Do something }Mọi phương thức mà bạn muốn hiển thị trên menu ngữ cảnh có cùng kiểu vàbao gồm attribute ContextMenu tuỳ biến.Sử dụng một AttributeÝ tưởng sau viết attribute ContextMenu là để cung cấp một tên văn bản tựdo cho một tuỳ chọn menu. Ta thực thi một cờ Default để cho biết sự chọnlựa menu mặc định. Lớp attribute được mô tả như sau:[AttributeUsage(AttributeTargets.Method,AllowMultiple=false,Inherited=true)]public class ContextMenuAttribute : System.Attribute{ public ContextMenuAttribute(string caption) { Caption = caption; Default = false; } public readonly string Caption; public bool Default;}Ở đây, attribute AttributeUsage trên lớp đánh dấu ContextMenuAttrinbutenhư chỉ có thể dùng trong một phương thức, và nó cũng định nghĩa là chỉ cómột thể hiện của đối tượng này trên bất kỳ phương thức nào.Bạn có thể nghĩ về một số lượng các thành viên khác để thêm vào attributenày như là: một hotkey cho tuỳ chọn menu Một hình ảnh để hiển thị Vài văn bản đểhiển thị trong thanh công cụ Một help context ID Dispatching MethodsKhi một menu được hiển thị trong .NET, mọi tuỳ chọn menu được liên kếtvới mã xử lý. Trong quá trình thực thi cơ chế móc menu chọn đến mã, bạncó hai chọn lựa như sau: Thực thi một phương thức với cùng dạng như System.EventHandler. public delegate void EventHandler(object sender, EventArgs e); Định nghĩa một lớp đại diện thực thi và gọi đến lớp nhận. Nó được biết như mẫu Command.Mẫu Command tách người gửi và người nhận của sự gọi bằng các phươngtiện của một lớp đơn giản. Nó tạo nên các phương thức trên mọi DataRowđơn giản hơn, và nó có thể mở rộng hơn:public class MenuCommand{ public MenuCommand(object receiver, MethodInfo method) { Receiver = receiver; Method = method; } public void Execute(object sender, EventArgs e) { Method.Invoke(Receiver, new object[] {} ); } public readonly object Receiver; public readonly MethodInfo Method;}Lớp cung cấp một delegate EventHandler để gọi phương thức trên đối tượngnhận .Ví dụ của chúng ta sử dụng hai kiểu hàng khác nhau: Hàng từ bảngCustomer và hàng từ bảng Orders. Các tuỳ chọn xử lý cho mọi kiểu dữ liệunày từ giống đến khác. Hình ảnh trên trình bày các tác vụ cho một hàngCustomer. Hình bên dưới trình bày các tuỳ chọn cho một hàng Order: ...
Tìm kiếm theo từ khóa liên quan:
lập trình tài liệu lập trình kỹ thuật lập trình giáo trình C ngôn ngữ lập trình C tự học lập trình với CGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 245 0 0 -
101 trang 193 1 0
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 179 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 177 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 147 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 143 0 0 -
Tìm hiểu về ngôn ngữ lập trình C: Phần 1 - Quách Tuấn Ngọc
211 trang 143 0 0 -
161 trang 127 1 0
-
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 116 0 0 -
Giáo trình Vi điều khiển PIC: Phần 1
119 trang 114 0 0