Columns là tập hợp chứa các DataColumn trong cấu trúc của DataTable. Mọi tham chiếu đến
DataColumn đều thơng qua tập hợp này. Sau đây là một số chức năng của tập hợp Columns
II.5.1. Số cột trong tập hợp Cú pháp:
<DataTable>.Columns.Count
II.5.2. Tham chiếu DataColumn trong tập hợp Cú pháp:
<DataTable>.Columns.Item(<tên DataColumn muốn tham chiếu>) <DataTable>.Columns.Item(<chỉ số DataColumn muốn tham chiếu>) <DataTable>.Columns(<tên DataColumn muốn tham chiếu>)
<DataTable>.Columns(<chỉ số DataColumn muốn tham chiếu>)
II.5.3. Thêm DataColumn vào cấu trúc DataTable Cú pháp:
<DataTable>.Columns.Add()
Tạo mới, đưa vào cấu trúc DataTable và trả về một DataColumn mới <DataTable>.Columns.Add(<tên DataColumn>)
Tạo và đưa vào cấu trúc DataTable, một DataColumn mới tên là tham số truyền vào <DataTable>.Columns.Add(<DataColumn>)
Đưa vào cấu trúc DataTable DataColumn truyền vào
<DataTable>.Columns.Add(<tên DataColumn>,<kiểu dữ liệu>)
Tạo và đưa vào cấu trúc DataTable, một DataColumn mới tên là tham số truyền vào và cĩ kiểu dữ liệu là kiểu truyền vào
<DataTable>.Columns.Add(<tên DataColumn>,<kiểu dữ liệu>,<biểu thức>)
Tạo và đưa vào cấu trúc DataTable, một DataColumn mới tên là tham số truyền vào, cĩ kiểu dữ liệu là kiểu truyền vào và trị của DataColumn tính theo biểu thức truyền vào.
II.5.4. Thêm nhiều DataColumn vào cấu trúc DataTable Cú pháp:
<DataTable>.Columns.AddRange(<mảng DataColumn>)
Đưa vào cấu trúc DataTable, mảng các DataColumn truyền vào.
II.5.5. Kiểm tra cĩ thể loại bỏ DataColumn khỏi cấu trúc DataTable Cú pháp:
<DataTable>.Columns.CanRemove(<DataColumn>)
Phương thức thực hiện một số kiểm tra như : DataColumn cĩ thuộc về cấu trúc DataTable hay khơng, cĩ liên quan đến ràng buộc hoặc quan hệ của DataTable khơng và trả về kết quả True/False.
II.5.6. Kiểm tra cấu trúc DataTable cĩ DataColumn tên truyền vào
<DataTable>.Columns.Contains(<tên DataColumn>)
Phương thức trả về True/False. Chúng ta dùng phương thức kiểm tra này trước khi thực hiện một phương thức khác trên DataColumn
II.5.7. Hủy DataColumn khỏi cấu trúc DataTable
<DataTable>.Columns.Remove(<DataColumn>) Hủy <DataColumn> khỏi cấu trúc DataTable
<DataTable>.Columns.Remove(<tên DataColumn>) Hủy DataColumn cĩ tên <tên DataColumn> khỏi cấu trúc DataTable
<DataTable>.Columns.RemoveAt(<chỉ số>) Hủy DataColumn cĩ chỉ số <chỉ số> khỏi cấu trúc DataTable
<DataTable>.Columns.Clear() Hủy tồn bộ cấu trúc DataTable
II.5.8. Minh họa tạo cấu trúc DataTable Ví dụ: Minh họa tạo cấu trúc các DataTable sau:
DataTable PHONGBAN gồm các thơng tin Mã phịng ban, Tên phịng ban.
DataTable NHANVIEN gồm các thơng tin Mã số NV, Họ, Tên, Phái, Ngày sinh, Hệ số lương, thuộc phịng ban nào.
Imports System.Data …
Dim bang_phong As New DataTable("PHONGBAN") Dim cot_Ma, cot_Ten As DataColumn
cot_Ma = New DataColumn("Mapb", Type.GetType("System.String")) cot_Ma.MaxLength = 2
cot_Ten = New DataColumn("Ten_phong", Type.GetType("System.String")) cot_Ten.MaxLength = 30
bang_phong.Columns.AddRange(New DataColumn(){cot_Ma,cot_Ten}) bang_phong.PrimaryKey = New DataColumn(){cot_Ma}
Dim bang_nhan_vien As New DataTable("NHANVIEN") Dim cot(2) As DataColumn
cot(0) = New DataColumn("Manv", Type.GetType("System.String")) cot(1) = New DataColumn("Honv", Type.GetType("System.String")) cot(2) = New DataColumn("Tennv", Type.GetType("System.String")) cot(0).MaxLength = 4 cot(1).MaxLength = 25 cot(2).MaxLength = 10 cot(0).AllowDBNull = False cot(0).Unique = True bang_nhan_vien.Columns.AddRange(a) bang_nhan_vien.Columns.Add("Phai", Type.GetType("System.Boolean")) bang_nhan_vien.Columns.Add("Ngaysinh", Type.GetType("System.DateTime")) bang_nhan_vien.Columns.Add("Hsluong", Type.GetType("System.Single")) bang_nhan_vien.Columns.Add("Mapb", Type.GetType("System.String")) bang_nhan_vien.Columns("Mapb").MaxLength = 2 II.6. Tập hợp Rows
Rows là tập hợp các dịng dữ liệu của DataTable. Mọi tham chiếu đến DataRow đều thơng qua tập hợp này. Sau đây là một số chức năng của tập hợp Rows:
II.6.1. Số DataRow trong tập hợp Cú pháp:
II.6.2. Tham chiếu DataRow trong tập hợp Cú pháp:
<DataTable>.Rows.Item(<chỉ số DataRow muốn tham chiếu>) <DataTable>.Rows(<chỉ số DataRow muốn tham chiếu>)
II.6.3. Truy xuất trị của ơ trên một DataRow Cú pháp:
<DataTable>.Rows.Item(<chỉ số dịng>)(<chỉ số cột>) <DataTable>.Rows(<chỉ số dịng>)(<chỉ số cột>)
Các cách sau áp dụng cho cả hai cách thơng qua Item và khơng cĩ Item <DataTable>.Rows(<chỉ số dịng>)(<tên cột>)
<DataTable>.Rows(<chỉ số dịng>)(<cột>)
<DataTable>.Rows(<chỉ số dịng>)(<chỉ số cột>,<phiên bản>) <DataTable>.Rows(<chỉ số dịng>)(<tên cột>,<phiên bản>) <DataTable>.Rows(<chỉ số dịng>)(<cột>,<phiên bản>)
II.6.4. Thêm DataRow vào DataTable Cú pháp:
<DataTable>.Rows.Add(<DataRow>) Thêm một dịng cĩ sẵn vào DataTable.
<DataTable>.Rows.Add(<mảng trị>)
Tạo một dịng mới với các trị trong mảng trị ứng với thứ tự các DataColumn và đưa vào tập hợp Rows của DataTable.
II.6.5. Để chèn dịng vào DataTable tại một vị trí
Cú pháp:
<DataTable>.Rows.InsertAt(<DataRow>,<vị trí>) Chèn một DataRow cĩ sẵn vào DataTable tại <vị trí>.
Nếu <vị trí> lớn hơn số dịng của DataTable, dịng mới được thêm vào vị trí cuối DataTable.
II.6.6. Hủy DataRow trên DataTable Cú pháp:
<DataTable>.Rows.Remove(<DataRow>) Hủy <DataRow> khỏi tập hợp Rows của DataTable.
<DataTable>.Rows.RemoveAt(<chỉ số>) Hủy DataRow tại vị trí <chỉ số> khỏi DataTable
<DataTable>.Rows.Clear()
Hủy tồn bộ các dịng dữ liệu của DataTable
II.6.7. Để kiểm tra trên khĩa chính cĩ chứa trị truyền vào
Cú pháp:
<DataTable>.Rows.Contains(<trị>)
Phương thức kiểm tra trên cột khĩa chính xem cĩ dịng nào chứa <trị> và trả về True nếu tìm thấy, ngược lại trả về False
<DataTable>.Rows.Contains(<mảng trị>)
Phương thức kiểm tra trên các cột khĩa chính cĩ dịng nào chứa bộ giá trị <mảng trị> và trả về True nếu tìm thấy, ngược lại trả về False. Thứ tự trị truyền vào phải theo thứ tự các cột khĩa trên DataTable.
II.6.8. Tìm DataRow cĩ khĩa chính chứa trị truyền vào Cú pháp:
<DataTable>.Rows.Find(<trị>)
Phương thức trả về dịng chứa <trị> trên cột khĩa chính. Nếu khơng tìm thấy trả về Nothing <DataTable>.Rows.Find(<mảng trị>)
Phương thức trả về DataRow chứa bộ giá trị <mảng trị> trên các cột khĩa chính. Thứ tự trị truyền vào phải theo thứ tự các cột khĩa trên DataTable.
II.6.9. Minh họa tạo thao tác với tập hợp Rows
Ví dụ sau đây sẽ sử dụng cấu trúc của DataTable PHONGBAN, NHANVIEN phần trên và thêm vào các mẩu tin.
Ví dụ:
bang_phong.Rows.Add(New Object(){"HC", "Hành chánh"}) bang_phong.Rows.Add(New Object(){"TC", "Tổ chức"}) Dim dong As DataRow = bang_nhan_vien.NewRow()
dong(0)= "A001"
dong(1)= "Nguyễn Văn" dong(2)= "Ba" dong(3)= True dong(4)= #12/10/1980# dong(5)= 1.25 dong(6)= "HC" bang_nhan_vien.Rows.Add(dong)
bang_nhan_vien.Rows.Add(New Object(){"A002", "Trần Cơng", "Minh", True, _ "25/04/1977", 1.75, "TC"})
"05/09/1982", 1.25, "HC"}
bang_nhan_vien.Rows.Add(nv)
' Tìm nhân viên cĩ mã là “A001”, nếu tìm thấy hủy nhân viên đĩ If bang_nhan_vien.Rows.Contains(“A001”) then
Dim dg As DataRow = bang_nhan_vien.Rows.Find(“A001”) ' Để đánh dấu hủy
dg.Delete()
' Nếu muốn loại bỏ hẳn khỏi DataTable ' bang_nhan_vien.Rows.Remove(dg) End If
II.7. Tập hợp Constraints
Minh họa tạo thao tác với tập hợp Constraints
Ví dụ: Sử dụng cấu trúc của DataTable PHONGBAN, NHANVIEN ở trên
' tạo ràng buộc duy nhất là khĩa chính cho DataTable PHONGBAN
bang_phong.Constraints.Add("Khoa", bang_phong.Columns("Mapb"), True) ' tạo một ràng buộc duy nhất trên cột Manv của DataTable NHANVIEN
Dim khoa_duy_nhat As New UniqueConstraint( bang_nhan_vien.Columns("Manv")) ' tạo ràng buộc khĩa ngoại trên cột Mapb của PHONGBAN và Mapb của NHANVIEN Dim khoa_ngoai as New ForeignKeyConstraint(bang_phong.Columns(“Mapb”), _ bang_nhan_vien.Columns("Mapb"))
' Đưa hai ràng buộc vừa tạo vào tập hợp Constraints bang_nhan_vien.Constraints.Add(khoa_duy_nhat)
bang_nhan_vien.Constraints.Add(khoa_ngoai)
II.8. Một số phương thức của DataTable II.8.1. Để phát sinh một dịng mới cĩ cấu trúc của DataTable II.8.1. Để phát sinh một dịng mới cĩ cấu trúc của DataTable
Cú pháp:
<DataTable>.NewRow()
Phương thức này trả về một DataRow mới cĩ cấu trúc như của DataTable với các giá trị mặc định
nhưng chưa đưa vào tập hợp Rows (nghĩa là chưa thuộc về DataTable, cĩ trạng thái là Detached). Và một khi được đưa vào tập hợp sẽ cĩ trạng thái là Added.
II.8.2. Hủy tất cả các dịng dữ liệu trên DataTable Cú pháp:
<DataTable>.Clear()
II.8.3. Sao chép cấu trúc, ràng buộc của DataTable thành DataTable khác Cú pháp:
<DataTable>.Clone()
Phương thức trả về một DataTable đã cĩ sẵn cấu trúc và ràng buộc của DataTable nhưng khơng cĩ dữ liệu
II.8.4. Sao chép cấu trúc, ràng buộc và dữ liệu của DataTable thành DataTable khác Cú pháp:
<DataTable>.Copy()
Phương thức trả về một DataTable đã cĩ sẵn cấu trúc, ràng buộc và dữ liệu của DataTable. DataTable trả về cĩ cùng cấp với DataTable - nếu DataTable là đối tượng của một lớp kế thừa, DataTable trả về cũng thuộc lớp đĩ.
II.8.5. Để lấy ra một bản sao những thay đổi trên DataTable
Cú pháp:
<DataTable>.GetChanges()
Phương thức trả về một DataTable gồm những dịng dữ liệu đã thay đổi kể từ lần lấy dữ liệu từ nguồn về hoặc từ lần cập nhật trước vào DataTable bằng Phương thức AcceptChanges.
<DataTable>.GetChanges(<trạng thái DataRow>)
Như trên nhưng chỉ trả về những dịng cĩ tình trạng đúng với <trạng thái DataRow>.
II.8.6. Lấy ra một mảng các dịng bị lỗi trên DataTable Cú pháp:
<DataTable>.GetErrors()
Phương thức trả về một mảng các DataRow bị lỗi. Phương thức này được gọi sau khi gọi GetChanges nhằm phát hiện các dịng bị lỗi để xử lý.
II.8.7. Cập nhật các thay đổi vào DataTable Cú pháp:
<DataTable>.AcceptChanges()
Phương thức cập nhật các thay đổi kể từ lần cập nhật trước hoặc khi DataTable được mở vào chính nĩ. Sau khi thực hiện tất cả các DataRow đều cĩ trạng thái Unchanged. Những DataRow cĩ trạng thái Deleted bị loại bỏ khỏi DataTable.
II.8.8. Hủy bỏ các thay đổi của DataTable Cú pháp:
<DataTable>.RejeptChanges()
Phương thức phục hồi lại các giá trị kể từ lần cập nhật trước hoặc khi DataTable được mở vào chính DataTable. Sau khi thực hiện, tất cả các dịng mới thêm vào đều bị loại bỏ. Những DataRow cĩ trạng thái Deleted, Modified được phục hồi lại tình trạng gốc.
II.8.9. Tính tốn trên các DataRow của DataTable Cú pháp:
<DataTable>.Compute(<biểu thức tính tốn>,<biểu thức lọc>)
Phương thức thực hiện tính tốn theo <biểu thức tính tốn> trên những dịng thỏa điều kiện của <biểu thức lọc> và trả về giá trị tính tốn được kiểu Object.
Trong <biểu thức tính tốn>, phải cĩ hàm thống kê (Count, Sum,…) <biểu thức lọc> : phải cĩ dạng <tên cột> <tốn tử> <giá trị>
Ví dụ: Dựa DataTable NHANVIEN ở trên, để đếm các nhân viên nữ thuộc phịng Hành chánh
Dim sonvNu = dt.Compute("Count(Manv)", "Phai = False And Mapb = 'HC'")
II.8.10. Chọn các DataRow của DataTable Cú pháp:
<DataTable>.Select()
Phương thức trả về mảng các DataRow trên DataTable theo thứ tự của khĩa chính nếu cĩ. Select(<biểu thức lọc>)
Phương thức trả về mảng các DataRow trên DataTable thỏa điều kiện của <biểu thức lọc> theo thứ tự của khĩa chính nếu cĩ.
Select(<biểu thức lọc>, <biểu thức sắp xếp>)
Phương thức trả về mảng các DataRow trên DataTable thỏa điều kiện của <biểu thức lọc> theo thứ tự của <biểu thức sắp xếp>.
Select(<biểu thức lọc>, <biểu thức sắp xếp>,<trạng thái dịng>)
Phương thức trả về mảng các DataRow trên DataTable thỏa điều kiện của <biểu thức lọc> theo thứ tự của <biểu thức sắp xếp> và cĩ RowState ứng với tham số <trạng thái dịng>.
Ví dụ: Dựa DataTable NHANVIEN ở trên, chọn ra các nhân viên thuộc phịng Hành chánh
Dim dong() As DataRow = bang_nhan_vien.Select("Mapb = 'HC'") Chọn và sắp xếp
Dim dong() As DataRow = bang_nhan_vien.Select("Mapb = 'HC'", _
"ngaysinh DESC")
II.9. Các sự kiện của DataTable
Các sự kiện
Tên Mơ tả
ColumnChanged Sự kiện xảy ra sau khi giá trị trên cột của một dịng đã thay đổi. Tham số EventArgs chứa thơng tin:
Column: DataColumn thay đổi
Row: DataRow cĩ cột thay đổi
ColumnChanging Sự kiện xảy ra khi giá trị trên cột của một DataRow đang thay đổi. Tham số EventArgs chứa thơng tin như ColumnChanged
RowChanged Sự kiện xảy ra sau khi một DataRow đã thay đổi thành cơng (khơng phát sinh Exception)
Tham số EventArgs chứa thơng tin:
Action: hành động đã xảy ra trên dịng
Row: dịng cĩ hành động xảy ra
RowChanging Sự kiện xảy ra khi một dịng đang thay đổi. Tham số EventArgs chứa thơng tin như RowChanged
RowDeleted Sự kiện xảy ra sau khi một dịng trên DataTable đã bị đánh dấu hủy. Tham số EventArgs chứa thơng tin như RowChanged
RowDeleting Sự kiện xảy ra trước khi một dịng trên DataTable bị đánh dấu hủy. Tham số EventArgs chứa thơng tin như RowChanged
III. DataRelation
DataSet quản lý quan hệ giữa các DataTable trong DataSet qua tập hợp Relations. Đây là những đối tượng DataRelation chứa thơng tin về mối quan hệ đã tạo ra trong DataSet.
Quan hệ giữa hai DataTable nĩi lên sự liên quan của một dịng (DataRow) trên DataTable cha với các DataRow trên DataTable con. Do đĩ, chúng ta cĩ thể thấy được mối quan hệ đĩ qua việc hiển thị dữ liệu các dịng tương ứng trên DataTable con (một cách tự động qua việc liên kết lưới DataTable con với quan hệ đã tạo) khi dịng hiện hành trên DataTable cha thay đổi.
Ràng buộc, ngược lại, nhằm bảo vệ tính tồn vẹn dữ liệu thơng qua mối quan hệ sẽ kiểm tra sự tồn tại của DataRow bên DataTable cha khi thêm, sửa trên DataTable con hoặc kiểm tra tồn tại các dịng con khi hủy trên DataTable cha
DataRelation thuộc tên lớp System.Data.DataRelation
III.1. Khởi tạo
Ngồi cách tạo quan hệ qua tập hợp Relations của DataSet đã đề cập ở phần trước, cịn cĩ các cách
khởi tạo sau:
Cú pháp:
New DataRelation(<tên>, <cột DataTable cha>, <cột DataTable con>) New DataRelation(<tên>, <mảng cột DataTable cha>, _
<mảng cột DataTable con>)
New DataRelation(<tên>, <cột DataTable cha>, <cột DataTable con>, _ <tạo ràng buộc>)
New DataRelation(<tên>, <mảng cột DataTable cha>, _
<mảng cột DataTable con>, <tạo ràng buộc>) <tạo ràng buộc>: Cĩ giá trị True/False cho biết khi thiết lập quan hệ sẽ tạo luơn các ràng buộc hay
khơng (xem phần tạo DataRelation giữa 2 DataTable trên DataSet)
Kinh nghiệm giảng dạy:
Chỉ cĩ thể thiết lập quan hệ giữa hai DataTable chỉ khi hai DataTable đĩ thuộc về một DataSet
III.2. Các thuộc tính của DataRelation
Các thuộc tính
Tên Mơ tả
ChildColumns Trả về các DataColumn trên DataTable con tham gia trong DataRelation. ChildKeyConstraint Trả về ràng buộc khĩa ngoại của DataRelation.
ChildTable Trả về DataTable con trong DataRelation. DataSet Trả về DataSet chứa DataRelation.
ParentColumns Trả về các cột trên DataTable cha tham gia trong DataRelation.
ParentKeyConstraint Trả về ràng buộc duy nhất bảo đảm giá trị cột trên DataTable cha trong
DataRelation cĩ trị duy nhất.
ParentTable Trả về DataTable cha trong DataRelation. RelationName Tên DataRelation (đọc ghi)
III.3. Minh họa thiết lập quan hệ
Ví dụ sau đây sẽ sử dụng bang_phong_ban, bang_nhan_vien ở phần trên để thiết lập quan hệ giữa cột Mapb của bang_phong_ban với Mapb của bang_nhan_vien.
Ví dụ: Dựa DataTable NHANVIEN ở trên, chọn ra các nhân viên thuộc phịng Hành chánh
Đưa hai bảng vào một DataSet:
Dim dst As New DataSet()
dst.Tables.AddRange(New DataTable(){bang_phong,bang_nhan_vien}) Sau đĩ, cĩ thể sử dụng một trong các cách sau:
Dim rel As New DataRelation("PB_NV", bang_phong.Columns("Mapb"), _ bang_nhan_vien.Columns(“Mapb”)) dst.Relations.Add(rel) Hoặc: dst.Relations.Add("PB_NV", bang_phong.Columns("Mapb"), _ bang_nhan_vien.Columns(“Mapb”)) Hoặc: bang_phong.ChildRelations.Add("PB_NV", bang_phong.Columns("Mapb"), _ bang_nhan_vien.Columns(“Mapb”)) Hoặc: bang_nhan_vien.ParentRelations.Add("PB_NV", bang_phong.Columns("Mapb"), _
bang_nhan_vien.Columns(“Mapb”))
IV. DataView
Trong các đối tượng chúng ta đã tìm hiểu, vẫn cịn thiếu một số chức năng như tìm kiếm với ý nghĩa
định vị trí, sắp xếp, lọc dữ liệu…ADO.Net đưa ra DataView như một đối tượng thuận tiện cho việc liên
kết dữ liệu với các điều khiển, sắp xếp…nhằm bổ sung cho những yêu cầu trên và cung cấp cho chúng ta một cách hiển thị dữ liệu tùy biến của DataTable.
Với chức năng hiển thị dữ liệu tùy biến, DataView cho phép hiển thị dữ liệu của một DataTable qua các
điều khiển khác nhau với các số liệu khác nhau như dùng một điều khiển hiển thị tất cả các dịng dữ
liệu trên DataTable và một điều khiển khác hiển thị dữ liệu của những dịng đã bị đánh dấu hủy cũng của DataTable đĩ …
Mặc định mỗi DataTable cĩ sẵn một DataView thơng qua thuộc tính DefaultView. DataView thuộc tên lớp System.Data.DataView
IV.1. Khởi tạo
Cú pháp:
New DataView()
Tạo một đối tượng DataView mới New DataView(<DataTable>)
Tạo một đối tượng DataView mới từ <DataTable>
New DataView(<DataTable>,<biểu thức lọc>, <biểu thức sắp xếp>, _ <trạng thái dịng>)
Tạo một DataView mới từ <DataTable> gồm những dịng thoả điều kiện <biểu thức lọc> và cĩ tình trạng như <trạng thái dịng>, được hiển thị theo cách sắp xếp <biểu thức sắp xếp>
IV.2. Các thuộc tính chính của DataView Các thuộc tính Các thuộc tính
Tên Mơ tả
AllowDelete Giá trị cho biết thao tác xĩa dịng trên DataView cĩ được phép khơng (đọc ghi).
AllowEdit Giá trị cho biết thao tác sửa đổi trên DataView cĩ được phép khơng (đọc
ghi).
AllowNew Giá trị cho biết thao tác thêm mới với Phương thức AddNew trên DataView cĩ
được phép khơng (đọc ghi).
Count Số mẩu tin trên DataView sau khi áp dụng thuộc tính RowFilter và RowStateFilter.
Item Trả về một dịng dữ liệu trên bảng theo tham số truyền vào. RowFilter Biểu thức lọc của DataView để thay đổi dữ liệu hiển thị.
trị sau:
Added: Dịng mới thêm vào chưa cập nhật.
CurrentRows: Dịng hiện hành bao gồm những dịng khơng thay đổi, dịng mới và dịng đã thay đổi.
Deleted: Dịng đánh dấu hủy.
ModifiedCurrent: Dịng đã được thay đổi và giá trị hiển thị là phiên
bản hiện hành, tức phiên bản đã sửa đổi từ dữ liệu gốc.
ModifiedOriginal: Dịng đã được thay đổi và giá trị hiển thị là phiên
bản gốc.
None: Khơng gì cả.
OriginalRows: Dịng gốc bao gồm các dịng khơng thay đổi và dịng
đã đánh dấu hủy.
Unchanged: Dịng khơng thay đổi.
Sort Tên cột hoặc các cột của DataTable dùng sắp xếp dữ liệu trên Dataview ngăn cách nhau bằng dấu phẩy (đọc ghi). Nếu sắp xếp tăng khơng ghi thêm gì hoặc "ASC", sắp xếp giảm thêm "DESC"
Table DataTable (đọc ghi) mà DataView đang lấy dữ liệu
IV.3. Các thao tác chính của DataView
IV.3.1. Thêm một dịng mới trên DataView
Cú pháp:
<DataView>.Add()
Phương thức trả về một DataRowView (sẽ đề cập đến phần sau).
IV.3.2. Đánh dấu hủy một dịng trên DataView
Cú pháp:
<DataView>.Delete(<chỉ số>)
Phương thức thực hiện đánh dấu hủy dịng trên DataView cĩ chỉ số truyền vào. Sau khi thực hiện, dịng cĩ trạng thái là Deleted và cĩ thể phục hồi bằng RejectChanges.
IV.3.3. Tìm kiếm trên DataView
Cú pháp:
<DataView>.Find(<giá trị>)
Phương thức thực hiện tìm kiếm <giá trị> trên DataView và trả về chỉ số của dịng đầu tiên thỏa giá trị tìm. DataView phải được sắp xếp trên cột muốn tìm kiếm.
<DataView>.Find(<mảng giá trị>)
Phương thức thực hiện tìm kiếm <mảng giá trị> trên các cột tương ứng của DataView và trả về chỉ số của dịng đầu tiên thỏa giá trị tìm. DataView phải được sắp xếp trên các cột cĩ trị muốn tìm kiếm. Nếu tìm thấy, phương thức trả về chỉ số dịng tìm thấy, ngược lại khơng tìm thấy trả về -1