2011-09-12 38 views
33

Sự khác biệt giữa DataView và DataTable trong .Net là gì? Theo như tôi hiểu DataView chỉ là một bài trình bày sai của DataTable. Khi nào tôi nên sử dụng DataView?Sự khác nhau giữa dataview và datatable là gì?

Xin cảm ơn trước.

+0

BTW, vui lòng xem http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts –

Trả lời

37

Khi bạn muốn chạy truy vấn và hiển thị tập hợp con dữ liệu trong một điều khiển, một DataView có thể giúp bạn. Đó chỉ là một ví dụ, hãy nhìn vào MSDN example for DataView, giải thích mà bạn nên sử dụng DataViews với DataTables ...

DataTable

Một DataTable là một đại diện trong bộ nhớ của một bảng cơ sở dữ liệu duy nhất. Bạn có thể nghĩ về nó như có các cột và các hàng theo cùng một cách. DataTable là một đối tượng trung tâm trong thư viện ADO.NET. Các đối tượng khác sử dụng DataTable bao gồm DataSet và DataView.

Nhìn vào MSDN DataTable class để biết thêm chi tiết.

DataView

Một dataview là một cái nhìn về một DataTable, một chút giống như một cái nhìn sql. Nó cho phép bạn lọc và sắp xếp các hàng - thường để liên kết với điều khiển biểu mẫu cửa sổ.

Ngoài ra, một DataView có thể được tùy chỉnh để trình bày một tập con dữ liệu từ DataTable. Khả năng này cho phép bạn có hai điều khiển liên kết với cùng một DataTable, nhưng hiển thị các phiên bản khác nhau của dữ liệu. Ví dụ, một điều khiển có thể được ràng buộc với một DataView hiển thị tất cả các hàng trong bảng, trong khi một thứ hai có thể được cấu hình để chỉ hiển thị các hàng đã bị xóa khỏi DataTable. DataTable cũng có một thuộc tính DefaultView trả về DataView mặc định cho bảng.

Xem MSDN DataView class để biết thêm chi tiết.

4

bạn có thể lọc trên DataTable bằng DataView. ví dụ nếu bạn có một DataSet bao gồm tất cả các thông số, bạn có thể tìm thấy một trong các thông số với DataView:

DataView dv = new DataView(); 
dv = new DataView(parameterDs.Tables[0], "ParameterName = '@" + parameter.Key + "'", string.Empty, DataViewRowState.CurrentRows); 
5

DataTable nghĩa đại diện bảng duy nhất trong khi một DataSet là một đại diện nhiều bảng.

Điều đó có nghĩa bằng cách sử dụng DataTable chúng ta có thể giữ chỉ có một bảng duy nhất từ ​​cơ sở dữ liệu, nếu chúng ta sử dụng DataSet chúng ta có thể giữ nhiều bảng tại một thời điểm ...

DataView nghĩa xem dữ liệu có sẵn trong DataSet ... (xem bảng có sẵn trong DataSet) nó được sử dụng để tìm một bản ghi, sắp xếp, lọc bản ghi ... bằng cách sử dụng DataView.

+4

Vui lòng định dạng và làm rõ câu trả lời của bạn. Không cần phải hét lên với tất cả các mũ. – laalto

+0

điều này có khả năng đọc thấp do tất cả các mũ, và ai sẽ muốn sao? –

Các vấn đề liên quan