2014-09-22 36 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 
相關問題