怎么对Repeater列表里面的某一个字段的值进行比较?

我想我是醉了 2012-12-31 09:44:21
比如列表里面有个数值的字段,第一行是100,第二行是200,如此循环下去进行比较 直到把最大的值取出来。求各位大侠帮忙!谢谢!
...全文
130 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
我想我是醉了 2012-12-31
  • 打赏
  • 举报
回复
非常谢谢大家!已经解决。
段传涛 2012-12-31
  • 打赏
  • 举报
回复
其实方法很多,简单直接理解就行。 当然自己写的最好。 我以前写的。 List<int> mylist = new List<int>(); for (int i=0; i < 10; i++) { } mylist.Sort(); foreach (int em in mylist) { }
暖枫无敌 2012-12-31
  • 打赏
  • 举报
回复
引用 5 楼 liujin983 的回复:
引用 3 楼 jason_dct 的回复:还有个方法,也不复杂 用C#对比排序算法 获取最大值。 代码都比较简单。 如果找不到我再复制给你。 int Money = 0; foreach (RepeaterItem item in this.BaoBeiContent.Items) { ……
你原先Foreach里每次只取一条数据,你丢进List泛型中,是不行的,下面你2层for循环就更没意义了。 你直接设置个变量,然后在foreach每次遍历中比较赋值,在foreach完毕后,取出的自然是最大值,这里设置的初始比较值是0,如果有负数的话,你可以设置一个负数,如-99999
段传涛 2012-12-31
  • 打赏
  • 举报
回复
引用 5 楼 liujin983 的回复:
引用 3 楼 jason_dct 的回复: 还有个方法,也不复杂 用C#对比排序算法 获取最大值。 代码都比较简单。 如果找不到我再复制给你。 int Money = 0; foreach (RepeaterItem item in this.BaoBeiContent.Items) { ……
没有问题,自己写的理解的更深,更好。 但是 我想建议,用更简单的代码
暖枫无敌 2012-12-31
  • 打赏
  • 举报
回复
不就是取Repeater中某一列中的最大值嘛,搞这么复杂

int MaxMoney = 0;
foreach(RepeaterItem item in this.BaoBeiContent.Items)
{
     if(MaxMoney<int.Parse((item.FindControl("控件") as TextBox).Text.Trim()))
     {
          MaxMoney = int.Parse((item.FindControl("控件") as TextBox).Text.Trim()) ;
     }
}
Response.Write("最大价格:"+MaxMoney);
恋上下雨天 2012-12-31
  • 打赏
  • 举报
回复
想这些如果经常用到的,如果实在JS获取最大、最小值可以考虑在JS里面封装一个MaxValue或者MinValue的方法,当然,无非都是用冒泡、选择排序等集中方法,封装可以方便以后调用。
我想我是醉了 2012-12-31
  • 打赏
  • 举报
回复
引用 3 楼 jason_dct 的回复:
还有个方法,也不复杂 用C#对比排序算法 获取最大值。 代码都比较简单。 如果找不到我再复制给你。
int Money = 0; foreach (RepeaterItem item in this.BaoBeiContent.Items) { TextBox aa = item.FindControl("控件") as TextBox; Money = int.Parse(aa.Text); List<int> list = new List<int>(); list.Add(Money); int i = 0, j = 0; // 循环变量 int temp; // 临时变量 int[] arr = new int[] { Money }; for (j = 1; j < arr.Length; j++) {//外循环每次把参与排序的最大数排在最后 for (i = 0; i < arr.Length - j; i++) { //内层循环负责对比相邻的两个数,并把最大的排在后面 if (arr[i] > arr[i + 1]) { //如果前 一个数大于后一个数,则交换两个数 temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } } } for (j = 0; j < arr.Length; j++) { bb.Text = arr[i].ToString(); } 看我这样写的有问题没?这样写不管怎样,取的值都是最后一个。
threenewbee 2012-12-31
  • 打赏
  • 举报
回复
思路 int max = 0 foreach 读取每一行 if (当前行 > max) max = 当前行 max就是你要的。
段传涛 2012-12-31
  • 打赏
  • 举报
回复
还有个方法,也不复杂 用C#对比排序算法 获取最大值。 代码都比较简单。 如果找不到我再复制给你。
段传涛 2012-12-31
  • 打赏
  • 举报
回复
2方法一个最简单的方法 数据读取到arrylist 使用他的sort方法 直接OK了。
Assassin_ 2012-12-31
  • 打赏
  • 举报
回复
google 冒泡排序

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧