public virtual int AddCopies(int indexSource, int count) { raiseEvent = false; int lastIndex = 0; for (int i = 0; i < count; i++) { lastIndex = AddCopy(indexSource); } DataGridView.OnRowsAddedInternal(new DataGridViewRowsAddedEventArgs(lastIndex - count + 1, count)); raiseEvent = true; return(lastIndex); }
// FIXME: Do *not* allow insertation *after* the editing row! public virtual void Insert(int rowIndex, DataGridViewRow dataGridViewRow) { dataGridViewRow.SetIndex(rowIndex); dataGridViewRow.SetDataGridView(dataGridView); CompleteRowCells(dataGridViewRow); list.Insert(rowIndex, dataGridViewRow); ReIndex(); OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Add, dataGridViewRow)); if (raiseEvent) { DataGridView.OnRowsAddedInternal(new DataGridViewRowsAddedEventArgs(rowIndex, 1)); } }
public virtual void InsertRange(int rowIndex, params DataGridViewRow [] dataGridViewRows) { raiseEvent = false; int index = rowIndex; int count = 0; foreach (DataGridViewRow row in dataGridViewRows) { Insert(index++, row); count++; } DataGridView.OnRowsAddedInternal(new DataGridViewRowsAddedEventArgs(rowIndex, count)); raiseEvent = true; }
public virtual void AddRange(params DataGridViewRow [] dataGridViewRows) { if (dataGridView.DataSource != null) { throw new InvalidOperationException("DataSource of DataGridView is not null."); } int count = 0; int lastIndex = -1; raiseEvent = false; foreach (DataGridViewRow row in dataGridViewRows) { lastIndex = Add(row); count++; } raiseEvent = true; DataGridView.OnRowsAddedInternal(new DataGridViewRowsAddedEventArgs(lastIndex - count + 1, count)); OnCollectionChanged(new CollectionChangeEventArgs(CollectionChangeAction.Add, dataGridViewRows)); }