关于c#:如何设置ListBox中选择的多个项目?

How to set multiple items as selected in ListBox?

我有一个列表框,选择模式为多个。在后面的代码中,我想将一些值设置为选中。这些值存在于名为"Names"的 ListItems[] 中。

HTML 代码:

<asp:ListBox ID="lbto" class="chosen" runat="server" Width="450px"
 Height="20px" SelectionMode="Multiple">
    Mandy</asp:ListItem>
    Amit</asp:ListItem>
    sundar</asp:ListItem>
    ragu</asp:ListItem>
    raju</asp:ListItem>
</asp:ListBox>

ListItem[] 名称包含"ragu"和"raju"。现在,当页面加载时,ListBox 应该包含 'ragu' 和 'raju' 作为选定值。


如何设置 ListItemSelected 属性?

var names = new List<string>(new string[] {"ragu","raju" });

foreach (var item in lbto.Items)
{
    if (names.Contains(item.Text))
        item.Selected = true;
}

相关讨论

  • 您可以使用上述方法将多个项目设置为 Selected。更新了答案。
  • 如果 lbto 包含 100 项表示,它将检查整个 100 项。会需要更多时间吗?
  • foreach 表示它将检查每个项目,或者您是什么意思?

你可以使用FindByValue方法

foreach (string item in stringList)
    lbxList.Items.FindByValue(item).Selected = true;

使用一行linq

lbto.Items.Cast<String>().ForEach(i => i.Selected = names.Contains(i.Text));

lbto.Items.OfType<string>().ForEach(i => i.Selected = names.Contains(i.Text));

相关讨论

  • 我收到一条错误消息,指出 ListItemCollection 没有"ForEach"的定义,也没有扩展方法"ForEach"
  • 解决方案不起作用。 \\t \\t 我收到一条错误消息,指出 ListItemCollection 没有 'ForEach' 的定义,也没有扩展方法 'ForEach'
  • System.Collection.Generic.IEnumerable<string> 不包含 Foreach 的定义。我改用了 foreach 语句。
  • @rhose87 您需要使用 System.Linq 指令

以上是关于c#:如何设置ListBox中选择的多个项目?的全部内容。
THE END
分享
二维码
< <上一篇
)">
下一篇>>