I want to create a RadFixedDocument with a table (see screenshot). Thereby the table is created dynamically:
Table headerTable = new Table();
Telerik.Windows.Documents.Fixed.Model.Editing.Border headerBorder = new Telerik.Windows.Documents.Fixed.Model.Editing.Border(1, BorderStyle.Single, new RgbColor(217, 217, 217));
headerTable.DefaultCellProperties.Borders = new TableCellBorders(headerBorder, headerBorder, headerBorder, headerBorder);
headerTable.DefaultCellProperties.Padding = new Thickness(5, 10, 5, 10);
TableRow headerRow = headerTable.Rows.AddTableRow();
TableCell vacationEntitlementHeaderCell = headerRow.Cells.AddTableCell();
vacationEntitlementHeaderCell.PreferredWidth = _maxWidth-100;
vacationEntitlementHeaderCell.Background = new RgbColor(217, 217, 217);
Block vacationEntitlementText = vacationEntitlementHeaderCell.Blocks.AddBlock();
SetTextProperties(vacationEntitlementText, new RgbColor(0, 0, 0), 12, new FontFamily("Verdana"), new RgbColor(217, 217, 217));
vacationEntitlementText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Left;
vacationEntitlementText.VerticalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.VerticalAlignment.Center;
vacationEntitlementText.InsertText("Urlaubsanspruch: " + _localViewModel.Document.VacationEntitlement.ToString());
TableCell vacationPlannedHeaderCell = headerRow.Cells.AddTableCell();
vacationPlannedHeaderCell.PreferredWidth = _maxWidth-100;
vacationPlannedHeaderCell.Background = new RgbColor(217, 217, 217);
Block vacationPlannedText = vacationPlannedHeaderCell.Blocks.AddBlock();
SetTextProperties(vacationPlannedText, new RgbColor(0, 0, 0), 12, new FontFamily("Verdana"), new RgbColor(217, 217, 217));
vacationPlannedText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Left;
vacationPlannedText.VerticalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.VerticalAlignment.Center;
vacationPlannedText.InsertText("Geplant: " + _localViewModel.Document.VacationDays.ToString());
TableCell vacationFreeHeaderCell = headerRow.Cells.AddTableCell();
vacationFreeHeaderCell.PreferredWidth = _maxWidth-100;
vacationFreeHeaderCell.Background = new RgbColor(217, 217, 217);
Block vacationFreeText = vacationFreeHeaderCell.Blocks.AddBlock();
SetTextProperties(vacationFreeText, new RgbColor(0, 0, 0), 12, new FontFamily("Verdana"), new RgbColor(217, 217, 217));
vacationFreeText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Left;
vacationFreeText.VerticalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.VerticalAlignment.Center;
vacationFreeText.InsertText("Freie Urlaubstage: " + _localViewModel.Document.FreeVacationsDays.ToString());
TableCell workTimeColorCell = headerRow.Cells.AddTableCell();
workTimeColorCell.PreferredWidth = 150;
workTimeColorCell.Background = new RgbColor(217, 217, 217);
Block workTimeColorText = workTimeColorCell.Blocks.AddBlock();
SetTextProperties(workTimeColorText, new RgbColor(85, 85, 85), 24, new FontFamily("Verdana"), new RgbColor(85, 85, 85));
workTimeColorText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Left;
workTimeColorText.VerticalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.VerticalAlignment.Center;
workTimeColorText.InsertText(" ");
TableCell WorkTimeHeaderCell = headerRow.Cells.AddTableCell();
WorkTimeHeaderCell.PreferredWidth = _maxWidth;
WorkTimeHeaderCell.Background = new RgbColor(217, 217, 217);
Block workTimeText = WorkTimeHeaderCell.Blocks.AddBlock();
SetTextProperties(workTimeText, new RgbColor(0,0,0), 12, new FontFamily("Verdana"), new RgbColor(217, 217, 217));
workTimeText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Left;
workTimeText.VerticalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.VerticalAlignment.Center;
workTimeText.InsertText("Arbeitstage mit hinterlegter Sollarbeitszeit");
_editor.Position.Translate(_defaultLeftIndent, 80);
_editor.DrawBlock(headerTable, new Size(_maxWidth, double.PositiveInfinity));
Table table = new Table();
Telerik.Windows.Documents.Fixed.Model.Editing.Border border = new Telerik.Windows.Documents.Fixed.Model.Editing.Border(1, BorderStyle.Single, new RgbColor(204, 204, 204));
table.DefaultCellProperties.Borders = new TableCellBorders(border, border, border, border);
table.DefaultCellProperties.Padding = new Thickness(5, 10, 5, 10);
TableRow valueHeaderRow = table.Rows.AddTableRow();
TableCell monthCell = valueHeaderRow.Cells.AddTableCell();
monthCell.PreferredWidth = 150;
monthCell.Background = new RgbColor(217, 217, 217);
Block month = monthCell.Blocks.AddBlock();
SetTextProperties(month, new RgbColor(0, 0, 0), 12, new FontFamily("Verdana"), new RgbColor(217, 217, 217), true);
month.InsertText("Monat");
for (int i = 1; i < 32; i++)
{
TableCell dayCell = valueHeaderRow.Cells.AddTableCell();
dayCell.PreferredWidth = 50;
dayCell.Background = new RgbColor(217, 217, 217);
Block day = dayCell.Blocks.AddBlock();
SetTextProperties(day, new RgbColor(0, 0, 0), 12, new FontFamily("Verdana"), new RgbColor(217, 217, 217), true);
day.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Center;
day.InsertText(i.ToString());
}
foreach (var monthItem in _localViewModel.Document.Months)
{
TableRow monthRow = table.Rows.AddTableRow();
TableRow appointmentRow = table.Rows.AddTableRow();
TableCell monthHeaderCell = monthRow.Cells.AddTableCell();
monthHeaderCell.PreferredWidth = 120;
monthHeaderCell.Background = new RgbColor(217, 217, 217);
monthHeaderCell.RowSpan = 2;
Block monthName = monthHeaderCell.Blocks.AddBlock();
SetTextProperties(monthName, new RgbColor(0, 0, 0), 12, new FontFamily("Verdana"), new RgbColor(217, 217, 217));
monthName.VerticalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.VerticalAlignment.Center;
monthName.InsertText(monthItem.Name);
foreach (var dayItem in monthItem.Days)
{
if (dayItem.Plan == 0)
{
RgbColor background = new RgbColor(255, 255, 255);
TableCell monthDayCell = monthRow.Cells.AddTableCell();
Block dayText = monthDayCell.Blocks.AddBlock();
monthDayCell.PreferredWidth = 50;
if (dayItem.Template == Templates.U)
{
background = new RgbColor(0, 153, 188);
}
monthDayCell.Background = background;
SetTextProperties(dayText, new RgbColor(0, 0, 0), 8, new FontFamily("Verdana"), background);
dayText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Center;
dayText.InsertText(dayItem.WeekdayStringShort.ToUpper());
TableCell appointmentDayCell = appointmentRow.Cells.AddTableCell();
//Block appointmentText = appointmentDayCell.Blocks.AddBlock();
appointmentDayCell.PreferredWidth = 50;
appointmentDayCell.Background = FormatAppointment(dayItem.Date);
//SetTextProperties(appointmentText, new RgbColor(0, 0, 0), 0, new FontFamily("Verdana"), new RgbColor(255, 255, 255));
//appointmentText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Center;
//appointmentText.InsertText(String.Empty);
}
else
{
TableCell monthDayCell = monthRow.Cells.AddTableCell();
RgbColor rgbColorBackground = new RgbColor(85, 85, 85);
RgbColor rgbColorForeground = new RgbColor(255, 255, 255);
monthDayCell.Background = rgbColorBackground;
Block dayText = monthDayCell.Blocks.AddBlock();
monthDayCell.PreferredWidth = 50;
SetTextProperties(dayText, rgbColorForeground, 8, new FontFamily("Verdana"), rgbColorBackground);
dayText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Center;
dayText.InsertText(dayItem.WeekdayStringShort.ToUpper());
TableCell appointmentDayCell = appointmentRow.Cells.AddTableCell();
//Block appointmentText = appointmentDayCell.Blocks.AddBlock();
appointmentDayCell.PreferredWidth = 50;
appointmentDayCell.Background = FormatAppointment(dayItem.Date);
//SetTextProperties(appointmentText, new RgbColor(0, 0, 0), 0, new FontFamily("Verdana"), new RgbColor(255, 255, 255));
//appointmentText.HorizontalAlignment = Telerik.Windows.Documents.Fixed.Model.Editing.Flow.HorizontalAlignment.Center;
//appointmentText.InsertText(String.Empty);
}
}
}
_editor.Position.Translate(_defaultLeftIndent, 130);
_editor.DrawBlock(table, new Size(_maxWidth, double.PositiveInfinity));
}
How can I set the height of the empty row below each day?