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