6 thg 11, 2015

Sử dụng DataView để filter dữ liệu từ DataTable C#

Khi chúng ta được cung cấp 1 DataTable chứa dữ liệu nhưng chỉ cần lấy ra 1 số dòng thỏa điều kiện nào đó thôi. Cách truyền thống vấn là duyệt từng dòng rồi so sánh giá trị nếu phù hợp thì lấy, không phù hợp thì bỏ qua.
Sử dụng DataView để lấy dữ liệu theo điều kiện nào đó 1 cách nhanh chóng.

Demo:
Tạo 1 DataTable chứa thông tin tên và tuổi của một số người:
  1. DataTable table = new DataTable("table");  
  2. table.Columns.Add(new DataColumn("Name"typeof(string)));  
  3. table.Columns.Add(new DataColumn("Age"typeof(int)));  
  4. for (int i = 0; i < 5; i++)  
  5. {  
  6.     DataRow NewRow = table.NewRow();  
  7.     NewRow["Name"] = "Nguyễn Văn " + i;  
  8.     NewRow["Age"] = i;  
  9.     table.Rows.Add(NewRow);  
  10. }  
Bây giờ nếu chỉ muốn lấy những người có tuổi lớn hơn 2: 
  1. // new 1 DataView  
  2. DataView dataView = new DataView(table);  
  3.   
  4. // chỉ lấy những người có tuổi lớn hơn 2  
  5. dataView.RowFilter = "Age > 2";  
Vậy là Ok, lúc này DataView chỉ chứa những dòng có giá trị thỏa điều kiện filter. Có thể dùng DataView này để đưa vào DataGridView.
tham khảo tại đây

Sử dụng DataView để filter dữ liệu từ DataTable C# Rating: 4.5 Diposkan Oleh: http://pdunoteit.blogspot.com/