我有两个复选框(推荐和其他),它们具有人名(连接,即John Smith是一个项目)。我想将每个列表的选定成员按字母顺序排列为一个。我怎么能这样做?
答案 0 :(得分:1)
具有三个checkboxlist控件的ASP.NET实现(chkRecommended,chkOthers,chkCombined)
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);
答案 1 :(得分:0)
您可以将两者的选定成员放入字符串列表并排序,然后将字符串列表放入新的CheckBoxList中。
有关MSDN列表(T).Sort方法示例,请参阅http://msdn.microsoft.com/en-us/library/b0zbh7b6.aspx。
答案 2 :(得分:0)
如果你是从SqlDataSource中获取它们,为什么不通过SQL进行字母顺序排列呢?