我有一个强类型的DataTable,名为Account,我按照Account.FullName进行了排序:
DataView dvAccount = new DataView(dtAccount)
dvAccount.Sort = "FullName desc";
全名是我的数据集在查询后生成的字段,基于名字、中间名和姓氏等。这意味着很遗憾,无法通过SQL查询进行排序。
首先我尝试以以下方式获取表格:
dtAccount = dvAccount.Table()
但是这给我提供了原始表格,而数据视图是基于这个表格的。因此,在线阅读后,我发现应该使用DataView.ToTable()
函数而不是DataView.Table()
函数:
dtAccount = dvAccount.ToTable() as dsAccount.AccountDataTable; // returns null
dtAccount = ((dsAccount.AccountDataTable) dvAccount.ToTable()); // gives Convertion to Typed Datatable Error
现在我遇到的问题是我的账户表是强类型的。所以在网上搜索后,我发现可以使用DataTable.Merge()
函数或DataTable.ImportRow()
函数来处理每一行,但是这些被认为是非常耗费资源的过程,因为每一行都要进行类型检查。那么在这种情况下,最佳的实践解决方案是什么呢?