2014-09-22 40 views
0

如何在VB.NET代码中的ListBox中选择多个项目。 例子:
我有项目1,5,8 - 那么我想在页面加载选择在ListBox中的项目如何在ListBox中选择多个项目

ListBoxSample item 
Item “aa1” Value =1 
Item “aa2” Value =2 
Item “aa3” Value =3 
Item “aa4” Value =4 
Item “aa5” Value =5 
Item “aa6” Value =6 
Item “aa7” Value =7 
Item “aa8” Value =8 
+2

''Page_Load'意味着ASP.NET或者它是'Winforms'' ListView'(甚至是WPF)? – 2014-09-22 12:19:13

+0

对不起,它的ASP.NET – 2014-09-22 12:20:13

+0

只有一个项目可以在[ASP.NET-'ListView']中选择(http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview .selectedindex(v = vs.110)的.aspx)。 – 2014-09-22 12:22:17

回答

1

首先,您需要确保多个可以选择项(默认为单项选择)。因此,可以使用SelectionMode - 特性:

<asp:ListBox id="listBox1" runat="server" SelectionMode="Multiple"> 
    <asp:ListItem Value="1">aa1</asp:ListItem> 
    <asp:ListItem Value="2">aa2</asp:ListItem> 
    <asp:ListItem Value="3">aa3</asp:ListItem> 
    <asp:ListItem Value="4">aa4</asp:ListItem> 
    <asp:ListItem Value="5">aa5</asp:ListItem> 
    <asp:ListItem Value="6">aa6</asp:ListItem> 
    <asp:ListItem Value="7">aa7</asp:ListItem> 
    <asp:ListItem Value="8">aa8</asp:ListItem> 
</asp:ListBox> 

在ASP.NET- ListBox没有SelectedIndices财产或类似的东西。所以,你需要循环他们,并相应设置ListItemSelected属性:

string[] selectedValues = { "1", "5", "8" }; // from session or whatever 

foreach (ListItem item in listBox1.Items) 
    item.Selected = selectedValues.Contains(item.Value); 

记住要做到这一点只有if(!Page.IsPostBack),而不是在每Page_Load回发。否则,您将覆盖用户更改并且事件不会触发。

+0

谢谢这对我有用 – 2014-09-23 02:53:42

1

要启用多选择您需要设置selection mode多个在Windows应用

ListBox1.SelectionMode = SelectionMode.MultiSimple 
ListBox1.SetSelected(1, True) 
ListBox1.SetSelected(5, True) 
ListBox1.SetSelected(8, True) 

如果ASP listBox那么你就可以静态地选择项目,如

<asp:ListBox id="drop1" rows="3" runat="server" AutoPostBack="True"> 
    <asp:ListItem selected="true">Item 1</asp:ListItem> 
    <asp:ListItem>Item 2</asp:ListItem> 
    <asp:ListItem>Item 3</asp:ListItem> 
    <asp:ListItem>Item 4</asp:ListItem> 
    <asp:ListItem selected="true">Item 5</asp:ListItem> 
    <asp:ListItem>Item 6</asp:ListItem> 
    <asp:ListItem>Item 7</asp:ListItem> 
    <asp:ListItem selected="true">Item 8</asp:ListItem> 
</asp:ListBox> 

如果你想设置它动态意味着你可以使用

drop1.SelectionMode = ListSelectionMode.Multiple 
    drop1.Items(0).Selected = True 
    drop1.Items(1).Selected = True 
    drop1.Items(2).Selected = True 
相关问题