1
我有兩個列表框,當我將值交換到另一個列表框時,它總是從列表中移除下一個值,當我嘗試從列表中交換最後一個值時,形成清單。我試圖找到問題,但我沒有得到任何結果。以下是審查的代碼部分。移動一個值表單到另一個刪除列表中的下一個值
private void MoveListBoxItems(ListBox lstEmployeelist, ListBox lstSelectedEmployees)
{
ListBox.SelectedObjectCollection sourceItems = lstEmployeelist.SelectedItems;
List<Master> newsource = this.masterBindingSource.DataSource as List<Master>;
List<Master> _selectedSource = this.masterSellectedBindingSource.DataSource as List<Master>;
try
{
if (lstEmployeelist.Items.Count > 0)
{
for (int i = 0; i <= sourceItems.Count -1 ; i++)
{
Master item = sourceItems[i] as Master;
this.masterSellectedBindingSource.AddNew();
Master sitems = masterSellectedBindingSource.Current as Master;
sitems.Empno = item.Empno;
sitems.FirstName = item.FirstName;
newsource.Remove((Master)item);
}
if (sourceItems.Count > 0)
this.masterBindingSource.RemoveCurrent();
this.masterSellectedBindingSource.EndEdit();
lstSelectedEmployees.DataSource = masterSellectedBindingSource;
lstSelectedEmployees.DisplayMember = "FirstName";
lstSelectedEmployees.ValueMember = "Empno";
}
}
catch (Exception ex)
{
throw ex;
}
}
發生什麼事,當用戶選擇多個項目從列表中? –
@ a-goutam我不太明白你的意思?如果您正在處理列表中的選定項目,那麼您將遍歷相同的SelectedItems集合或遍歷每個項目,檢查它是否被選中並根據需要移動。 你的代碼並沒有真正證明你做得很好。 – Ashigore
當我更改while循環中的代碼,然後它進入無限循環 –