【发布时间】:2014-06-08 17:10:30
【问题描述】:
我正在尝试删除类似于this question 的数据表中的重复项。但是,当我这样做时,我需要在有序数据集上进行,因为标准之一是时间是我的列之一,我只需要保留最早的时间实例。
我也在ordered lists from a datatable 上遇到过这个问题,但我不确定如何将两者结合起来。
基本上,我正在将文件读入数据集中,然后我想按时间和其他三列排序,并删除所有重复项,留下最早的时间实例。有问题的列是名称 (int)、电话号码 (long)、时间 (int) 和位置 (string)。如果姓名、电话和位置重复,请在第一次(最早)时间后删除所有内容。
dsHoldingSet.Tables["FileData"].Columns.Add("location", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("name", typeof(int));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("time", typeof(int));
dsHoldingSet.Tables["FileData"].Columns.Add("phone", typeof(long));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(int));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(int));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(int));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(int));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(int));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(long));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(Boolean));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
dsHoldingSet.Tables["FileData"].Columns.Add("field", typeof(string));
这是表定义,然后我们在验证文件中的行时添加行。
【问题讨论】:
-
您可以使用 LINQ 在您的
DataTable上执行OrderBy,您可以添加一些与您的问题相关的代码吗? -
@Habib - 我没有代码。我有一个需要对其进行操作的数据集,并且我一直在阅读以了解如何执行我需要的操作。
-
很难回答你的问题。您可以显示您的 DataSet/DataTable 是如何定义的,列是什么(名称和类型)。你想如何获得不同的价值观?您是否希望根据单列/多列获得不同的值。您喜欢如何订购它们(基于哪一列)。这将为社区提供更好的回复选择。