DataGridView中的{索引-1沒有值}异常

今天用.NET的WinForm的DataGridView遇到个问题,DataSource直接绑定到List,如果数据源有更新不重新绑定就不刷新,重新绑定在点击Cell时异常,{索引-1沒有值}.

问题原因:

DataGridView绑定IList<T>类型的对象时,如果Count=0,在进入编辑模式时就会出现System.IndexOutOfRangeException,而且是在主线程中报错.不知道这是否属于BUG.

解决办法:

1.

private void refreshBinding()
{
    BindingSource bs = new BindingSource();
    bs.DataSource = _workingFieldToCellRelationList;
    dgvTable2Excel.DataSource = bs;
    dgvTable2Excel.Invalidate();
}

2.数据源采用BindingList<T>类型,何必呢.

posted @ 2012-05-21 21:48 bengxia 阅读(...) 评论(...) 编辑 收藏
无觅相关文章插件,快速提升流量