Displaying a variable number of columns is tricky because of screen resolution and display widths. Just imagine if you had 20 events. Can you display these as rows in a repeating table underneath the Item and Description row?
In general, what you want to do is define the cells and then set conditional visibility depending on how many events are declared. If your events have different labels, you'll need to use an expression box and maybe an attribute on the event to display it's name. But, this is all very doable. Good luck.
Patrick Halstead
Project Manager at Qdabra