ASP.NET Показать выбранные элементы из списка в текстовом поле - PullRequest
4 голосов
/ 17 мая 2009

Я пытаюсь отобразить все выбранные элементы из списка в текстовое поле. В настоящее время я безуспешно делаю следующее:

For i As Integer = 0 To lb_words.ListCount
    If lb_words.Selected(i) = True Then
        tb_text.Text &= " Presto"
    End If
Next

Что должно происходить, так это то, что для каждого выбранного элемента в моем списке (lb.words) я хочу, чтобы он был добавлен в мое текстовое поле. Допустим, мой список содержит Apple, Orange и Banana, а я выбираю Apple и Banana, текст в текстовом поле должен быть «Apple Banana» ...

Я только что познакомился с ASP.NET, поэтому будьте проще: D Спасибо.

Ответы [ 7 ]

3 голосов
/ 20 октября 2011
        foreach (ListItem Mail in ListBox1.Items)
        {
            if (Mail.Selected)
            {
                Mail.Selected = true+",";
                mail.To.Add(Mail.ToString());                                   
            }
3 голосов
/ 17 мая 2009

Попробуйте это:

Dim s as String = ""

For each x as ListItem in lb_words.Items
     if x.Selected Then s &= x.Text & " "
Next
1 голос
/ 13 февраля 2011

Если вы используете список данных с привязкой к данным, попробуйте этот код, используя событие нажатия кнопки:

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
1 голос
/ 17 мая 2009

Страница aspx:

   <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>

код позади (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();
0 голосов
/ 12 октября 2018
 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;
    }

}
0 голосов
/ 17 мая 2009

Вы можете использовать lb_words.SelectedItems вместо того, чтобы перебирать все записи и находить среди них выбранные элементы. Вы можете использовать следующий код:

        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()

Если вы выберете Apple & Banana, ваше текстовое поле будет содержать «Apple Banana»

0 голосов
/ 17 мая 2009

Одним из решений было бы переопределение метода .ToString () для объединения всех значений в вашем списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...