A more robust approach to achieve your desired effect without glitches would involve custom drawing or grouping within the ObjectListView. Here's an approach:
private string previousActivity = "";
private void ObjectListView_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
{
if (e.ColumnIndex == 1)
{
var currentActivity = ((Children)e.Item.RowObject).EventName;
if (currentActivity != previousActivity)
{
e.DrawText();
}
else
{
e.Graphics.FillRectangle(Brushes.White, e.Bounds);
e.Graphics.DrawString(e.SubItem.Text, e.SubItem.Font, Brushes.White, e.Bounds);
}
previousActivity = currentActivity;
}
else
{
e.DrawDefault = true;
}
}