datalist读取的数据有重复,怎么才能让相同的数据只显示一条

2024-12-18 13:50:07
推荐回答(4个)
回答1:

1、从数据库方面考虑 select distinct name from users

2、如果你datalist中的相同数据是有序(相同的ID在一起)的

eg: ID
1
1
2
3
用以下方法(原理:相同ID的只取一次):

for(int x = 0; x < datalist.count; x++)
{
for(int y = x + 1; y < datalist.count; y++)
{
if (datalist[y] == datalist[x])
{
//取出你要的记录
}
}

3、如果你datalist中的相同数据是无序(相同的ID可能不在一起)的

eg: ID
1
2
3
1
用以下方法(这里以取出没有重复ID为例):

//[ 创建一个结果对象 ]
List listResult=new List();
//[ 循环datalist ]
for(int i = 0;i < datalist.Count; i++)
{
//[ 依次从datalist往listResult对象中放入不重复的值 ]
listResult.Add(datalist[i]);
//[ 从datalist中第i个值往后循环比较 ]
for(int j=i+1; j {
//[ 判断是否有相同的ID]
if(datalist[i] == datalist[j])
{
//[ 有相同的ID ]
//[ 从datalist列表中移除后一个ID(即datalist[j]) ]
datalist.RemoveAt(j);
}
else
{
//[ 没有相同的ID ]
//[ 进行下一次循环 ]
j++
}
//[ 从datalist中移除已经加入到结果对象中的ID ]
datalist.RemoveAt(i);
}
}

当循环结束时,listResult列表中的值即您要的结果
listResult[0]=1;
listResult[1]=2;
listResult[2]=3;
另外,虚机团上产品团购,超级便宜

回答2:

你把你的数据查询 去掉重复的 就行了

回答3:

string str = "select distinct * from tb_shop where user_name='" + Session["user"] + "'";

回答4:

这个,我也遇到了,求解。还有关于Datalist嵌套的问题