日期:2014-05-17  浏览次数:20515 次

最高分、最低分区别显示(如果有多个的话只显示一个)

一共有八个裁判,其中的最高分和最低分用不同的颜色显示 
如果有多个最高分(最低分)只让其中一个显示不同颜色

将八个值赋给八个label
  Label1.Text = ds.Tables[0].Rows[0][1].ToString();
  Label3.Text = ds.Tables[0].Rows[1][1].ToString();
  Label4.Text = ds.Tables[0].Rows[2][1].ToString();
  Label5.Text = ds.Tables[0].Rows[3][1].ToString();
  Label6.Text = ds.Tables[0].Rows[4][1].ToString();
  Label7.Text = ds.Tables[0].Rows[5][1].ToString();
  Label8.Text = ds.Tables[0].Rows[6][1].ToString();
  Label9.Text = ds.Tables[0].Rows[7][1].ToString();

判断是否为最大(最小值)
  if (Label1.Text==max/min)
  {
  Label1.ForeColor = System.Drawing.Color.Red;
  }

想不出只选择其中之一该怎么写

------解决方案--------------------
根据计数器来判断,每改变一次+1,如果>0,则不改变样式

C# code
 int count_high = 0, count_lower = 0;
            if (count_high == 0 && Label1.Text == max)
            {
                Label1.ForeColor = System.Drawing.Color.Red;
                count_high++;
            }
            if (count_lower == 0 && Label1.Text == min)
            {
                Label1.ForeColor = System.Drawing.Color.Red;
                count_lower++;
            }

------解决方案--------------------
C# code

 //将八个分数放到一个数组,我下面的以int型数组为例(当然你的是float数组)
         int[] arr = {9,12,1, 2, 4, 5, 6 };
            ArrayList list = new ArrayList(arr);
            list.Sort();
            int min = Convert.ToInt32(list[0]);
            int max = Convert.ToInt32(list[list.Count - 1]);
            Response.Write("最大" + max + " 最小:" + min); //输出12,1