I have an example working but with some unwanted limitations. What I did was create a collection from the underlying data and then using a GroupBy, adding repeating groups of columns called: titlex, startx and endx where x is a number from 1-20 as follows:
GroupBy(collHolidayGantt, Requester, grpDATA),
_events, CountRows(grpDATA),
_title1, First(SortByColumns(grpDATA, "StartDate", SortOrder.Ascending)).Status,
_start1, Max(DateDiff(DateFrom.SelectedDate, First(SortByColumns(grpDATA, "StartDate", SortOrder.Ascending)).StartDate, TimeUnit.Days)+1, 1),
_end1, DateDiff(DateFrom.SelectedDate, First(SortByColumns(grpDATA, "StartDate", SortOrder.Ascending)).EndDate, TimeUnit.Days)+1,
_title2, If(CountRows(grpDATA)>1, Last(FirstN(SortByColumns(grpDATA, "StartDate", SortOrder.Ascending), 2)).Status, "NA"),
_start2, If(CountRows(grpDATA)>1, DateDiff(DateFrom.SelectedDate, Last(FirstN(SortByColumns(grpDATA, "StartDate", SortOrder.Ascending), 2)).StartDate, TimeUnit.Days)+1),
_end2, If(CountRows(grpDATA)>1, DateDiff(DateFrom.SelectedDate, Last(FirstN(SortByColumns(grpDATA, "StartDate", SortOrder.Ascending), 2)).EndDate, TimeUnit.Days)+1),
etc.
The limitations are that it only allows 20 events per line (and adding more is a pain) plus that overlapping events will not display properly (I haven't figured out a solution for that yet).
On the other hand, it's pretty quick lo load and doesn't look too bad. Let me know if you figure out any tweaks to improve it.