Tôi cần phải sao chép một dữ liệu vào một datatable. Nó có vẻ như cách duy nhất để làm như vậy là để lặp qua các mục dataview theo mục và sao chép vào một datatable. Có phải là một cách tốt hơn.Cách dễ nhất để sao chép một dataview đến một datatable trong C#?
13
A
Trả lời
36
dt = DataView.ToTable()
HOẶC
dt = DataView.Table.Copy()
,
HOẶC
dt = DataView.Table.Clone()
;
3
Câu trả lời không hoạt động cho trường hợp của tôi vì tôi có các cột có biểu thức. DataView.ToTable()
sẽ chỉ sao chép các giá trị, chứ không phải các biểu thức.
Đầu tiên tôi đã cố gắng này:
//clone the source table
DataTable filtered = dt.Clone();
//fill the clone with the filtered rows
foreach (DataRowView drv in dt.DefaultView)
{
filtered.Rows.Add(drv.Row.ItemArray);
}
dt = filtered;
nhưng giải pháp đó là rất chậm, thậm chí với giá chỉ 1000 dòng.
Các giải pháp mà làm việc đối với tôi là:
//create a DataTable from the filtered DataView
DataTable filtered = dt.DefaultView.ToTable();
//loop through the columns of the source table and copy the expression to the new table
foreach (DataColumn dc in dt.Columns)
{
if (dc.Expression != "")
{
filtered.Columns[dc.ColumnName].Expression = dc.Expression;
}
}
dt = filtered;
Các vấn đề liên quan
- 1. Cách dễ nhất để sao chép/sao chép một cá thể tài liệu mongoose?
- 2. Sắp xếp dataview để DataTable
- 3. Tại sao tôi cần chuyển một DataView (thay vì chỉ một DataTable) sang PieChart.draw()?
- 4. Chuyển đổi SqlDataSource để DataTable và DataView
- 5. Sao chép các cột cụ thể từ một DataTable này sang một DataTable khác
- 6. Eclipse Eclipse: Cách dễ nhất để sao chép một lớp là gì?
- 7. Cách nhanh nhất để sao chép một bảng trong mysql?
- 8. Lặp qua các hàng trong một DataView
- 9. Cách nhanh nhất để sao chép một GregorianCalendar?
- 10. Cách di chuyển nhanh nhất để sao chép một mảng trong C++
- 11. Sao chép một chuỗi trong C
- 12. Whats cách tốt nhất để sao chép/sao chép dự án thành một mới với git?
- 13. Sao chép các hàng từ một Dữ liệu có thể lưu vào một DataTable khác?
- 14. Cách dễ nhất để sao chép SQL Server DB để kiểm tra DB?
- 15. Cách sao chép/sao chép một môi trường ảo từ máy chủ đến máy cục bộ
- 16. Làm cách nào để sao chép một băm trong Ruby?
- 17. Cách lấy giá trị từ một cột trong một DataView?
- 18. Làm cách nào để sao chép/sao chép một thể hiện của đối tượng trong CoffeeScript?
- 19. C++ cách sao chép bản đồ vào một vector
- 20. Cách dễ nhất để sao chép sâu (copy) một đối tượng Scala có thể thay đổi được là gì?
- 21. sao chép một lớp học, C#
- 22. Sao chép/Sao chép/Sao chép một Hồ bơi Ứng dụng Hiện tại trong IIS 7
- 23. Sao chép các bit từ ulong đến dài trong C#
- 24. Sự khác nhau giữa dataview và datatable là gì?
- 25. Cách sao chép hoặc sao chép một mảng các mảng
- 26. Cách nhanh nhất để sao chép các tệp trong Java
- 27. Cách tốt nhất để nhân bản/sao chép một Observablearray trong knockoutJS là gì?
- 28. Sao chép nội dung bitmap của một ImageView đến anoher
- 29. Cách dễ nhất để hợp nhất tất cả trừ một thay đổi từ một nhánh trong Git là gì?
- 30. Cách dễ nhất để viết và đọc một XML
Cảm ơn, google đã thất bại tôi khá nặng. Hy vọng rằng trang này sẽ được xếp hạng cao. – Ravedave
Cảm ơn Jose..Đã hoạt động ... –
Lưu ý: 'DataView.ToTable()' sẽ chỉ sao chép các giá trị của DataView. 'DataView.Table.Copy()' sẽ sao chép DataTable nguồn, không phải dữ liệu được lọc của DataView. 'DataView.Table.Clone()' sẽ chỉ sao chép cấu trúc của DataTable nguồn. – Homer