如何以升序显示复选框选定的项目

时间:2012-07-23 18:55:33

标签: c# asp.net

这是我的代码:

protected void check1_SelectedIndexChanged(object sender, EventArgs e)       
{            
    for (int i = 0; i < check1.Items.Count; i++)           
    {               
        if (check1.Items[i].Selected)
        {
            comment.Text = "\u2022 "+check1.Items[i].Text  +"<br/>"+ comment.Text;
        }
    }
}

例如,如果我有复选框列表:

*apple *Mango *Orange *Grapes

我选择了它显示的苹果,橙子和葡萄

grapes orange apple

我希望它显示为:

apple orange grapes

2 个答案:

答案 0 :(得分:1)

您可以使用Linq对其进行排序并使用它

示例:

var sortedCheckBoxes = check1.Items.Where(c => c.Selected).OrderBy(c => c.Text);

答案 1 :(得分:0)

首先将这些项目存储在List中,然后对其进行排序,然后将其设置为Coment.Text属性

protected void check1_SelectedIndexChanged(object sender, EventArgs e) 
{

 List<string> lst = new List<string>();

 for (int i = 0; i < check1.Items.Count; i++)
 {

    if (check1.Items[i].Selected)
    {           
       lst.Add(check1.Items[i]);            
     }           
  }

  lst.Sort();
  foreach(list l in lst)
  {
     comment.Text += l;
  }
 }