Bạn có thể truy vấn DataTable với LINQ khá dễ dàng và sau đó bạn có thể sử dụng Regex thực tế trong truy vấn để lọc nó theo ý bạn muốn.
Something như thế này ...
var source = myDataTable.AsEnumerable();
var results = from matchingItem in source
where Regex.IsMatch(matchingItem.Field<string>("Name"), "<put Regex here>")
select matchingItem;
//If you need them as a list when you are done (to bind to or something)
var list = results.ToList();
Điều này sẽ giúp bạn có được các hàng phù hợp dựa trên một Regex thực tế, tôi không biết những gì bạn cần phải làm gì với những thông tin, nhưng điều này sẽ cho phép bạn để có được các hàng dựa trên Regex.
**** Update ** - Cố gắng làm rõ dựa trên nhận xét
Tôi không biết những gì bạn đang sử dụng này cho nên tôi không có một bối cảnh tuyệt vời, nhưng từ những gì tôi có thể đoán bạn đang sử dụng một DataTable để dữ liệu liên kết với một Grid hoặc một cái gì đó như thế. Nếu đây là trường hợp, tôi nghĩ rằng bạn sẽ có thể chỉ định "danh sách" từ đoạn trích mà tôi đặt ở đây làm DataSource (giả sử bạn đang sử dụng BindingSource) và tôi nghĩ rằng nó sẽ hoạt động. Tôi không sử dụng DataTables, tôi thường dính vào các đối tượng để làm việc với dữ liệu của mình vì vậy tôi không chắc chắn nó sẽ xử lý danh sách các hàng như thế nào, nhưng tôi nghĩ nó sẽ hoạt động (hoặc đủ gần để tìm kiếm một chút sẽ làm điều đó).
Nguồn
2009-05-11 02:17:17
nguồn dữ liệu cơ bản là gì? Một 'DataTable'? Danh sách? vv –
Chỉnh sửa bằng một cách khác ... –
vâng, nó là một "DataTable" – clamp