【发布时间】:2015-04-06 12:52:40
【问题描述】:
我在 C# asp.net 项目中使用 DataTable。我想在DataTable 上申请sorting。
-
我有两种方法可以做到这一点,如下所示。
- 使用
DefaultView
- 使用
DataTable dt= GetDataFromDB(); // Method to fetch Data.
dt.DefaultView.Sort = "colName" + " " + "ASC";
dt= dt.DefaultView.ToTable();
- 使用
DataView.Sort
DataView sortedView = new DataView(ViewState["dt"] as DataTable);
sortedView.Sort = "colName" + " " + "ASC";
// ViewState["dt"] is defined in Page_Load event in my Page.
- 两者都适合我,但我想知道它们之间的区别以及就性能而言哪个更好。
- 注意:我正在处理大量数据。(40000-60000 条记录。)
【问题讨论】:
-
差别很小:第一次访问 DefaultView 属性将按需创建一个 DataView。在 ViewState 中存储大型 DataTable 可能会对性能产生更大的影响。
-
@Joe - 但我应该去哪一个?
DataTable或DataView因为在第二种方式中 - 我必须投射DataTable to DataView或ViewState[] to DataTable。
标签: c# asp.net c#-4.0 datatable