Tôi có một DataTable với 10 hàng nói một trong các cột được đánh số ngẫu nhiên từ 1 đến 10. Tôi muốn sắp xếp chúng. thông thường, tôi thực hiện điều này:Chọn N hàng đầu SAU phân loại từ Dataview trong C#
DataView Dv = new DataView(dtPost, "", "views desc", DataViewRowState.Unchanged);
repeater.DataSource = Dv;
repeater.DataBind();
Bây giờ, tôi chỉ muốn ràng buộc 5 hàng trên cùng trong Dataview này. Nếu tôi thử điều này:
DvPopBlogs.Table.Rows.Cast<System.Data.DataRow>().Take(5);
OR
DvPopBlogs.Table.AsEnumerable().Take(5); //this usually works if sorting wasnt necessary
Nó hoạt động, nhưng dataView hoàn toàn quên về việc sắp xếp và chỉ chọn 5 hàng từ trên cùng.
Tôi cũng đã thử nó với tất cả DataViewRowStates. Làm cách nào để chọn 5 hàng đầu sau khi sắp xếp?
Tôi dường như đã hết ý tưởng! vui lòng trợ giúp!
yea, tôi thấy điều này khi tôi cố gắng gỡ lỗi, dataview dường như đã sắp xếp thứ tự nhưng ngay sau khi tôi thêm Bảng, thứ tự sắp xếp bị mất, giờ tôi hiểu bảng là dữ liệu gốc. cảm ơn. Nhưng, DvPopBlogs là một DataView và nó không có phương thức .Take() hoặc .DataViewRows()! – iamserious
Hãy thử hoặc dvPopBlogs.AsEnumerable() Hãy, hoặc trong trường hợp xấu nhất dvPopBlogs.ToTable() Sau này sẽ tạo ra một DataTable mới từ nội dung của khung nhìn. –
Xin chào, xin lỗi, nếu tôi sử dụng .ToTable() phương pháp lặp lại là phàn nàn (trên ràng buộc) mà cột nhất định không tồn tại. Gỡ lỗi cho thấy rằng nó tồn tại, có thể tôi đang làm một cái gì đó sai và tôi chắc chắn bạn không thể tìm ra mà không có mã hoàn chỉnh. Bạn đề nghị tôi làm gì bây giờ? Cảm ơn và xin lỗi vì đã đặt quá nhiều câu hỏi! – iamserious