【发布时间】:2015-11-20 05:49:57
【问题描述】:
我在 DataTable 中有内容,我需要将其过滤到 3 个特定列表中。 在每组结果中,它们都将分别按开始日期排序。 1 天活动、2-13 天活动和 >14 天活动。
我尝试过使用 DataTable.Select,但它似乎不像我期望的那样工作(不知道为什么我期望它)。
这是我尝试过的
DataTable allResults = ds.Tables["Items"];
DataTable set1 = new DataTable();
DataTable set2 = new DataTable();
DataTable set3 = new DataTable();
DataRow[] result = allResults.Select("DATEDIFF(day,tcsi_startdate,tcsi_enddate) = 0");
foreach (DataRow row in result)
{
set1.ImportRow(row);
}
result = allResults.Select("DATEDIFF(day,tcsi_startdate,tcsi_enddate) > 0 AND DATEDIFF(day,tcsi_startdate,tcsi_enddate) < 14");
foreach (DataRow row in result)
{
set2.ImportRow(row);
}
result = allResults.Select("DATEDIFF(day,tcsi_startdate,tcsi_enddate) > 13");
foreach (DataRow row in result)
{
set3.ImportRow(row);
}
set1.DefaultView.Sort = "tcsi_startdate";
set2.DefaultView.Sort = "tcsi_startdate";
set3.DefaultView.Sort = "tcsi_startdate";
有什么方法可以根据需要使用 DataTable.Select 对数据进行排序?
提前干杯
【问题讨论】:
标签: c# datatable dataset filtering