簡體   English   中英

如何設置列表框中選擇的多個項目?

[英]How to set multiple items as selected in ListBox?

我有一個具有多種選擇模式的ListBox 在后面的代碼中,我想將一些值設置為選中。 這些值存在於名為'Names'ListItems[]中。

HTML 代碼:

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

ListItem[] 名稱包含'ragu''raju' 現在,當頁面加載時, ListBox應該包含'ragu''raju'作為選定值。

如何設置ListItemSelected -property?

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

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

您可以使用FindByValue方法

foreach (string item in stringList)
    lbxList.Items.FindByValue(item).Selected = true;
int[] IndexList = new int[] { 1, 3, 5, 7, 9 };
for (int i = 0; i < IndexList.Length; i++)
{
    if (listBox1.Items.Count > IndexList[i])
    {
        listBoxFX.SetSelected(IndexList[i], 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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM