代码之家  ›  专栏  ›  技术社区  ›  Matthew Jones

如何按字母顺序排列两个不同的复选框列表中的项目?

  •  0
  • Matthew Jones  · 技术社区  · 14 年前

    我有两个复选框(推荐的和其他的),其中有人名(连接在一起,即john smith是一项)。我想将每个列表中选定的成员按字母顺序排列为一个。我该怎么做?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Anthony Pegram    14 年前

    具有三个复选框列表控件(chkrecommended、chkothers、chkcombined)的asp.net实现

    var listItems = (from ListItem listItem in chkRecommended.Items
                     where listItem.Selected
                     select listItem)
                    .Union(from ListItem listItem in chkOthers.Items
                           where listItem.Selected
                           select listItem)
                    .OrderBy(listItem => listItem.Text);
    
    chkCombined.Items.Clear();
    foreach (ListItem listItem in listItems)
        chkCombined.Items.Add(listItem);
    

    如果您只是指一个值列表而不是另一个控件,那么您可以修改我提供的原始查询,或者像这样扩展它

    var listValues = listItems.Select(listItem => listItem.Value);
    
        2
  •  0
  •   Michael Wheeler    14 年前

    可以将两者的选定成员放入字符串列表并排序,然后将字符串列表放入新的复选框列表。

    http://msdn.microsoft.com/en-us/library/b0zbh7b6.aspx 对于msdn list(t).sort方法示例。

        3
  •  0
  •   Jason M    14 年前

    如果您是从sqldatasource中获取它们,为什么不通过sql进行字母排序呢?