![](/img/trans.png)
[英]C# Removing bindinglist item object on datagridview causes Exception
[英]C# DataGridView throws exception when removing object from BindingList
一切運行良好,直到我運行以下代碼:
TicketLine tl = (TicketLine)dgTicketLines.SelectedRows[0].DataBoundItem;
tl.Items--;
if (tl.Items < 1)
CurrentTicket.TicketLines.Remove(tl);
CurrentTicket.TicketLines是BindingList<TicketLine>
運行上面的代碼時,我在DataGridView中收到幾個IndexOutOfRange異常。
采取ObservableCollection<TicketLine>
而不是BindingList,它應該可以工作。
您需要通過設置BindingList<TicketLine>.RaiseListChangedEvents = false;
來抑制ListChanged事件BindingList<TicketLine>.RaiseListChangedEvents = false;
然后調用BindingList<TicketLine>.ResetBindings();
當您希望將任何更改傳播到DataGridView時。 當然,還有其他方法可以執行此操作,但這對我來說一直很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.