如何在VB.NET代码中选择ListBox中的多个项目。
例如:
我有第1,5,8项 - 然后我想在页面加载中的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
答案 0 :(得分:2)
首先需要确保可以选择多个项目(默认为单选)。因此,请使用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
属性或类似的东西。因此,您需要循环它们并相应地设置ListItem
的{{1}}属性:
Selected
请务必仅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
- 事件将不会触发。
答案 1 :(得分:1)
要启用多选,您需要在Windows应用程序中将selection mode
设置为多个
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