Reputation:
I'm trying to display all selected items from a listbox into a textbox. Currently I'm doing the following without success:
For i As Integer = 0 To lb_words.ListCount
If lb_words.Selected(i) = True Then
tb_text.Text &= " Presto"
End If
Next
What should be happening is that for every selected item in my listbox (lb.words) I want it to be appended to my textbox. So say my listbox contains Apple, Orange and Banana and I select Apple and Banana, my textbox text should read "Apple Banana"...
I've just introduced myself to ASP.NET so keep things simple :D Thanks.
Upvotes: 4
Views: 17742
Reputation: 35
protected void Button1_Click(object sender, EventArgs e)
{
//to display multiple items
String it =" ";
foreach (ListItem item in listbox.Items)
{
if (item.Selected)
{
it = it + ", " + item.Text;
}
Label1.Text = it;
}
}
Upvotes: 0
Reputation: 31
foreach (ListItem Mail in ListBox1.Items)
{
if (Mail.Selected)
{
Mail.Selected = true+",";
mail.To.Add(Mail.ToString());
}
Upvotes: 3
Reputation: 11
If you are using databound listbox then try this code using button click event:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For Each objDataRowView As DataRowView In Me.ListBox1.SelectedItems
Me.TextBox1.Text &= (objDataRowView("ITEM LIST").ToString() & " ; ")
'here "ITEM LIST" is the "column name" which is used as DATASOURCE for LISTBOX1
Next
End Sub
Upvotes: 1
Reputation: 40497
aspx page:
<asp:ListBox ID="myList" runat="server" SelectionMode="Multiple">
<asp:ListItem>Apple</asp:ListItem>
<asp:ListItem>Orange</asp:ListItem>
<asp:ListItem>Grapes</asp:ListItem>
</asp:ListBox>
<br/>
<asp:TextBox id="myText" runat="server"></asp:TextBox>
codebehind (C#)
StringBuilder sb=new StringBuilder();
for (int i = 0; i < myList.Items.Count; i++)
sb.Append(myList.Items[i].Selected ? myList.Items[i].Text + " " : "");
myText.Text=sb.ToString();
Upvotes: 1
Reputation: 37819
Try this:
Dim s as String = ""
For each x as ListItem in lb_words.Items
if x.Selected Then s &= x.Text & " "
Next
Upvotes: 3
Reputation: 23788
You can use lb_words.SelectedItems instead of looping through all the records and finding the selected items among them. You can use the following code:
Dim s As New StringBuilder()
For Each item As Object In Me.lb_words.SelectedItems
s.Append(item)
s.Append(" ")
Next
Me.TextBox1.Text = s.ToString()
If you select Apple & Banana, your textbox will contain 'Apple Banana '
Upvotes: 0
Reputation: 18477
One solution would be to override the .ToString() method to concatenate all the values in your list.
Upvotes: 0