foreach给出startindex错误

时间:2011-08-03 15:20:08

标签: datagridview bindinglist

以下代码给出“值'7'对'indexStart'无效。'indexStart'必须小于或等于3.参数名称:indexStart”错误!

void eventsource_EventLogCollectionChanged(object sender, EventLogEventArgs e)
        {
            _all.AddRange(e.NewEventLogItems);

            BindingList<EventlogItem> data = dgvPlcEvents.DataSource as BindingList<EventlogItem>;
            List<EventlogItem> newdata = FilterEvents((EventLogItemType)cboEventTypes.SelectedItem, GetSidFilter(), e.NewEventLogItems).ToList();
            foreach(EventlogItem item in newdata)
            {
                data.Add(item);
            }

            dgvPlcEvents.Invalidate();
        }

1)为什么? 2)我该如何解决?

我将绑定列表(从filterevents获取)转移到列表以避免错误,但它没有帮助。

我做错了什么?我只想添加一些项目到一个bindinglist,它是datagridview的数据源,所以它会自动插入行。

由于

1 个答案:

答案 0 :(得分:1)

您收到此错误,因为您的数据源设置为AllowNew = true; 将其设置为AllowNew = false;,然后添加您的项目。