在已创建的DataTable对象上使用SELECT DISTINCT?

时间:2010-11-16 08:04:17

标签: asp.net data-binding datatable distinct asp.net-controls

我有一个已经创建的DataTable对象,我正在使用它的girdview(asp.net)我还需要将该对象的列绑定到DropDownList。数据表在列中具有正确的详细信息,但该列包含列中相同名称的1个以上 - 因此我很乐意在数据表上执行某种SELECT DISTINCT并将其复制到新数据表以用于绑定下拉列表。

这样我就可以通过再次访问数据库来节省资源。

以下是一个示例,当前数据表有一个名为items的列,在此列中包含以下条目

1
1
1
1
5
5
6

当然我只需要用于绑定到我的下拉列表的唯一项目,因此我需要以下数据

1
5
6

当然我不想更改原始的数据表对象,而是将新的详细信息复制一份

如果有可能,有什么想法吗?或者我是否需要再次访问数据库?

提前致谢

2 个答案:

答案 0 :(得分:3)

DataTable dt = new DataTable(); dt = dsMobileInfo.Tables [0] .DefaultView.ToTable(true,“ColumnName”);

//将dvResult数据集应用于网格 for(int i = 0; i

希望这对你有用。

答案 1 :(得分:1)

您应该在默认视图(或您正在使用的任何其他视图)上使用ToTable()并提供true,以表明您需要不同的记录:

DataTable distinctTable = originalTable.DefaultView.ToTable(true);