-2
Я использую следующий код, чтобы получить и элемент (билет) из списка и удалить в соответствии с номером счета-фактуры. но он удаляет первый элемент в списке.Не удается удалить указанный элемент
private void btnTktDelete_Click(object sender, EventArgs e)
{
uOp = true;
if (MainListBox.SelectedIndex != -1)
{
Ticket tkt = (Ticket)MainListBox.SelectedItem;
List<Ticket> tlist = GetList<Ticket>(tklp);
Ticket TheTicket = tlist.Find(x => x.InvoiceNumber == tkt.InvoiceNumber);
List<Transaction> tranlist = GetList<Transaction>(trlp);
if (TheTicket != null)
{
Int32 number = TheTicket.InvoiceNumber;
tlist.RemoveAll(x=>x.InvoiceNumber == number);
tranlist.RemoveAll(x => x.InvoiceNumber == number);
SaveList(trlp, tranlist);
SaveList(tklp, tlist);
}
// MainListBox.DataSource = null;
// MainListBox.DataSource = GetList<Ticket>(tklp);
// dgvExport.DataSource = null;
// dgvExport.DataSource = GetList<Ticket>(tklp);
uOp = false;
}
}
Только вы можете отладить это, поставить точку останова и контролировать данные в переменных. – Shaharyar