0

我有两个复选框(推荐和其他),其中包含人名(连接,即约翰史密斯是一项)。我想将每个列表中选定的成员按字母顺序排列为一个。我怎样才能做到这一点?

4

3 回答 3

1

具有三个复选框列表控件(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);
于 2010-03-19T18:47:32.423 回答
0

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

有关 MSDN List(T).Sort Method 示例,请参阅http://msdn.microsoft.com/en-us/library/b0zbh7b6.aspx

于 2010-03-19T18:41:11.177 回答
0

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

于 2010-03-19T19:22:38.027 回答