I have an ASP ListBox that has the SelectionMode set to "Multiple". Is there any way of retreiving ALL selected elements and not just the last one?
<asp:ListBox ID="lstCart" runat="server" Height="135px" Width="267px" SelectionMode="Multiple"></asp:ListBox>
Using lstCart.SelectedIndex
just returns the last element (as expected). Is there something that will give me all selected?
* To do multiple Selections in the ListBox then just hold Ctrl key and select the items you want. In this demo, we are going to store the selected employee names that is selected from the ListBox to the database.
You can use ListBox. SelectedItems . "System.
First, you need to set the SelectionMode property on your ListBox to either SelectionMode. MultiSimple or SelectionMode. MultiExtended (so that you can select multiple items). Next, you need to add an event handler for the SelectedIndexChanged event on your ListBox .
To determine the items that are selected, you can use the Selected property of the list box. The Selected property of a list box is an array of values where each value is either True (if the item is selected) or False (if the item is not selected).
You can use the ListBox.GetSelectedIndices method and loop over the results, then access each one via the items collection. Alternately, you can loop through all the items and check their Selected property.
// GetSelectedIndices foreach (int i in ListBox1.GetSelectedIndices()) { // ListBox1.Items[i] ... } // Items collection foreach (ListItem item in ListBox1.Items) { if (item.Selected) { // item ... } } // LINQ over Items collection (must cast Items) var query = from ListItem item in ListBox1.Items where item.Selected select item; foreach (ListItem item in query) { // item ... } // LINQ lambda syntax var query = ListBox1.Items.Cast<ListItem>().Where(item => item.Selected);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With