2015-12-12 45 views
0

請告訴我如何獲得ListBox SelectedItems的ValueMember。任何幫助將不勝感激。我能夠得到選定的索引,但我希望在文本框中用逗號分隔多選列表框中每個選定的顯示成員的選定值。從MultiSelect ListBox中獲取文本框中所選項目的選定ValueMember(以逗號分隔)?

subjects_Listbox.DataSource = dt; 
subjects_Listbox.DisplayMember = "subject_title"; 
subjects_Listbox.ValueMember = "subject_id"; 

我的數據源是一個DataView所以我selectedItems是DataRowView類型。

+0

你用什麼來填充ListBox?你創建的某個類的集合?包括任何相關的代碼,以顯示你在做什麼。 –

+1

兩個小時前你已經問過同樣的問題,並接受並在那裏回答。現在發生了什麼? – Steve

+0

@Steve他最後一個問題的回答者告訴他創建一個新問題(在評論中)。不確定這是否是正確的建議,但這就是原因。 –

回答

0

這裏是一個示例代碼。未優化,但作品

private string[] listItem = { "a", "b", "c", "d", "e", "f","g","h","i" }; 
    private List<string> selectedItem = new List<string>(); 

    public Form1() 
    { 
     InitializeComponent(); 
     LoadItem(); 
    } 

    private void LoadItem() 
    { 
     for (int i = 0; i < listItem.Count(); i++) 
     { 
      lstItem.Items.Add(listItem[i]); 
     } 
    } 

    private void btnGetSelectedItem_Click(object sender, EventArgs e) 
    { 
     int CountSelectedItem = lstItem.SelectedItems.Count; 
     for (int i = 0; i < CountSelectedItem; i++) 
     { 
      string text = lstItem.SelectedItems[i].ToString(); 
      selectedItem.Add(text); 
     } 

     for (int i = 0; i < selectedItem.Count; i++) 
     { 
      txtSelectedItem.Text = txtSelectedItem.Text + "," + selectedItem[i]; 
     } 
    } 

我在ListBox中填充了幾個項目。然後在「按鈕單擊」上,從列表框中生成包含選定項目的文本框。

+0

問題是OP的數據源是DataRowView,而不是字符串。見[這個評論](http://stackoverflow.com/questions/34238374/get-selected-value-of-selected-items-in-a-textbox-separated-with-commas-from-m#comment56220762_34238591) – rene

相關問題