копирование из одного списка в другой список

Я работаю с приложением формы Windows, используя С#. У меня есть два списка, т.е. listbox1 и listbox2, и одна кнопка, т.е. btnall. listbox1 привязан с использованием привязки данных, а listbox2 пуст. Я хочу скопировать все элементы из listbox1, который привязан к другому пустому listbox2. По щелчку события btnAll_click. я пытаюсь это

private void btnAll_Click(object sender, EventArgs e)
{
    listbox2.Items.AddRange(listbox1.Items);
}

но я получаю data.datarowview вместо значений.


person siddharth    schedule 13.07.2012    source источник


Ответы (3)


Вы можете прокручивать элементы в LIstbox1 и добавлять их по одному, например так:

 foreach (var item in Listbox1.Items)
 {
     listbox2.Items.Add(item.ToString());
 }

Будет ли это делать то, что вы хотите?

person Gaz Winter    schedule 13.07.2012
comment
Свойство или индексатор «System.Windows.Forms.ListBox.Items» не может быть назначено — оно доступно только для чтения. я получаю эту ошибку при попытке this.listbox2.items=listbox1.items - person siddharth; 13.07.2012
comment
после попытки я получаю system.data.datarowview - person siddharth; 13.07.2012
comment
@siddharth Ах, хорошо, я думаю, вам может понадобиться item.something, а не item. Подождите, дайте мне попробовать - person Gaz Winter; 13.07.2012
comment
Вам нужно добавить .ToString(). Я проверил этот код, и он работает. - person Gaz Winter; 13.07.2012
comment
нет, год, я также пробовал это, это дало мне то же самое system.data.datarowview.я использую this.shift_MasterTableAdapter1.Fill(this.timeDataSet22.Shift_Master); этот код для привязки. - person siddharth; 13.07.2012
comment
что тогда содержит список? Это не просто струны? - person Gaz Winter; 13.07.2012
comment
Я предполагаю, что, поскольку вы приняли мой ответ, вы уже разобрались? - person Gaz Winter; 13.07.2012
comment
после привязки вручную в отделенном коде и применения этого кода, спасибо - person siddharth; 13.07.2012

Попробуй это

listbox2.DataSource = listbox1.Items;
person JohnnBlade    schedule 13.07.2012
comment
я получаю то же самое system.data.datarowview.not значение - person siddharth; 13.07.2012

Если вы заполняете элемент управления списком с помощью свойства DataSource, попробуйте установить DataSource и DataMember. и не забывайте:

listBox.DisplayMember = "displayMember";
listBox.ValueMember = "valueMember";

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

var mylistSource = new List<string>();
foreach (var item in Listbox1.Items)
{
    mylistSource.Add(item.ToString());
}

listBox2.DataSource = mylistSource;
person Ria    schedule 13.07.2012