C# 将排序数据视图转换为类型化数据表

C# 将排序数据视图转换为类型化数据表,c#,dataview,C#,Dataview,我有一个名为Account的强类型数据表,我按Account.FullName排序: DataView dvAccount = new DataView(dtAccount) dvAccount.Sort = "FullName desc"; 全名是在查询后从数据集生成的字段,基于名字、中间名、姓氏等。这意味着按SQL查询排序不是一个选项 首先,我试着这样摆放桌子: dtAccount = dvAccount.Table() 但这给了我Dataview所基于的原始表。因此,在线阅读后,我发现

我有一个名为Account的强类型数据表,我按Account.FullName排序:

DataView dvAccount = new DataView(dtAccount)
dvAccount.Sort = "FullName desc";
全名是在查询后从数据集生成的字段,基于名字、中间名、姓氏等。这意味着按SQL查询排序不是一个选项

首先,我试着这样摆放桌子:

dtAccount = dvAccount.Table()
但这给了我Dataview所基于的原始表。因此,在线阅读后,我发现我应该使用
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()
,但这些过程非常繁重,因为每一行都要检查类型。解决这种情况的最佳做法是什么?

我也遇到了同样的问题。我使用了这种解决方案

        dtAccount = New dsAccount.AccountDataTable;
        dtAccount.Merge(dvAccount.ToTable());
这对我来说很好。
告诉我是否有更好的。

为什么不从数据集中删除DataTable,然后将排序后的DataTable添加到数据集中。嗨,Nikhil!谢谢你的快速回复。你能为你的提示提供一个例子或更详细的解释吗?我将Asp.Net与一个数据集层和一个业务层(多层设置)一起使用,后者是我最好进行排序的地方,因为我在多个位置重复使用数据集进行查询