private void AddItem(GridViewItem item) { item.Tags.Clear(); var i = 0; foreach (var column in Columns) { if (i == 0) { column.Container.Controls.Add(item); } else { var index = i - 1; if (item.SubItems.Count > index) { column.Container.Controls.Add(item.SubItems[index]); item.Tags.Add(item.SubItems[index]); } else { var spacer = CreateSpace(item.Size.Y); column.Container.Controls.Add(spacer); item.Tags.Add(spacer); } } i++; } }
private void RemoveItem(GridViewItem item) { var i = 0; foreach (var column in Columns) { if (i == 0) { column.Container.Controls.Remove(item); } else { var index = i - 1; if (item.Tags.Count > index) { column.Container.Controls.Remove(item.Tags[index]); } } i++; } item.Tags.Clear(); }