У меня есть таблица, которую я печатаю. Я добавил границы ко всем ячейкам, но у меня проблема, когда таблица входит/выходит на новую страницу. Затем граница перемещается/остается на странице в зависимости от доступного пространства, которое занимает каждая ячейка. Можно ли сделать эту строку зависимой в sted?
Вот фото проблемы
Серая линия – это сдвиг страницы.
Вот как я сделал
foreach (Task task in TasksToShow)
{
myTable.RowGroups[0].Rows.Add(new TableRow());
currentRow = myTable.RowGroups[0].Rows[rowCount++];
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.TaskID.ToString()))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.TaskName))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.TaskResponsible))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.TaskResponsibleDepartment))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.Category))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.Status))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.Priority.ToString()))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.StartDate.ToString("dd/MM/yy")))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.ActualHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.EstimatedHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.EstimatedDeploymentDate.ToString("dd/MM/yy")))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.DesiredImplementationDate.ToString("dd/MM/yy")))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.APP.StartDate.ToString("dd/MM/yy")))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.APP.EstimatedHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.APP.ActualHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.IN.StartDate.ToString("dd/MM/yy")))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.IN.EstimatedHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.IN.ActualHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.SIS.StartDate.ToString("dd/MM/yy")))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.SIS.EstimatedHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.SIS.ActualHours.TotalHours.ToString() + "h"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run(task.Tags))));
currentRow.FontSize = 10;
currentRow.FontWeight = FontWeights.Normal;
for (int n = 0; n < currentRow.Cells.Count; n++ )
{
currentRow.Cells[n].BorderThickness = new Thickness(1, 1, 1, 1);
currentRow.Cells[n].BorderBrush = Brushes.Black;
}
}
Также есть ли способ сделать ширину ячеек зависимой от самой большой ячейки, а не просто сделать все ячейки одинаковой ширины?
Надеюсь, вы можете помочь.
void AddRow(data) { currentRow.Cells.Add(new TableCell(new Paragraph(new Run(data)))); }
- person leppie   schedule 14.11.2011