2012-07-23 64 views
0

这是我的代码:如何显示按升序复选框选中的项目

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

+0

您使用,列表框或什么哪个控制? – 2012-07-23 19:03:42

回答

1

您可以使用LINQ排序并利用它

例子:

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

如果你想排序它,不管是否检查项目,该怎么办..还..你有一个VB.NET版本的..我得到的错误,当我将你的例子转换为VB – MethodMan 2012-10-12 23:18:51

0

第一家门店列表这些项目,然后进行排序,然后将其设置为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; 
    } 
} 
相关问题