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; 
    } 
}