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

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

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

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

eg:ID

1

1

2

3

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

for(int x = 0x <datalist.countx++)

{

for(int y = x + 1y <datalist.county++)

{

if (datalist[y] == datalist[x])

{

//取出你要的记录

}

}

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

eg:ID

1

2

3

1

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

//[ 创建一个结果对象 ]

List<string>listResult=new List<string>()

//[ 循环datalist ]

for(int i = 0i <datalist.Counti++)

{

//[ 依次从datalist往listResult对象中放入不重复的值 ]

listResult.Add(datalist[i])

//[ 从datalist中第i个值往后循环比较 ]

for(int j=i+1j<datalist.Count)

{

//[ 判断是否有相同的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

对数据库查找的数据进行判断。直接用SELECT 查找出数据长度大于10字段的值 可以用这样写 判断条件?True:Flase 如下: <asp:DataList ID="Myabc" runat="server"><ItemTemplate><%# DataBinder.Eval(Container.DataItem, "Myabcd").ToString().Length>10? DataBinder.Eval(Container.DataItem, "Myabcd").ToString().Substring(0,10):"长度小于10要显示的内容" %></ItemTemplate></asp:DataList>期待你找到更好的办法分享下


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6745964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存