在从DataGridView连接的BindingList中删除entrys时遇到问题 首先是一些信息:
我有一个班级
public class DeliveryTimeList<T> : IEnumerable<T>, IDeliveryTimeObject where T : IDeliveryTimeData
实现此接口
public interface IDeliveryTimeObject : IListSource
我在DataGridView中使用此DeliveryTimeList。
我的类包含一个包含可见对象的列表
private List<T> _visibleList;
因为我实现了IListSource,所以我有这个方法
public IList GetList()
{
BindingList<T> blt = new BindingList<T>(_visibleList);
return blt;
}
现在从我的_visibleList中删除一个条目时,我得到一个System.IndexOutOfRangeException。 我无法弄清楚为什么会这样。不应该BindingList处理这个吗?
答案 0 :(得分:1)
如果您尝试使用BindingList的RemoveAt(int index)方法,请确保index >= 0 && index < blt.Count
否则会抛出该异常。
答案 1 :(得分:0)
我自己找到了答案。 _visibleList应该是BindingList。
这样会导致以下代码
private BindingList<T> _visibleList;
然后简单地返回它。
public IList GetList()
{
return _visibleList;
}