【问题标题】:BindingList error when removing Item删除项目时出现 BindingList 错误
【发布时间】:2014-10-06 13:23:41
【问题描述】:

从与 DataGridView 相关的 BindingList 中删除条目时遇到问题 这里先介绍一些信息:

我有课

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 不应该处理这个吗?

【问题讨论】:

    标签: c# datagridview bindinglist


    【解决方案1】:

    如果您尝试使用 BindingList 的 RemoveAt(int index) 方法,请确保 index &gt;= 0 &amp;&amp; index &lt; blt.Count 否则会抛出该异常。

    【讨论】:

    • 这不是错误,但我也忘记了。谢谢
    【解决方案2】:

    我自己找到了答案。 _visibleList 应该是一个 BindingList。

    所以这将导致以下代码

    private BindingList<T> _visibleList;
    

    然后简单地返回它。

    public IList GetList()
    {
        return _visibleList;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-22
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-08-16
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      相关资源
      最近更新 更多