тут надо пофиксить таблицу...

This commit is contained in:
bulatova_karina 2024-10-14 16:49:30 +04:00
parent 34bf359bc0
commit 334111d632
4 changed files with 33 additions and 34 deletions

View File

@ -31,11 +31,11 @@ namespace Components.NonVisualComponents
throw new ArgumentException("Не заданы все данные");
}
foreach (var columnDefinition in bigTable.ColumnDefinitions)
foreach (var columnDefenition in bigTable.ColumnDefenitions)
{
if (string.IsNullOrEmpty(columnDefinition.PropertyName))
if (string.IsNullOrEmpty(columnDefenition.PropertyName))
{
throw new ArgumentException($"Не задано свойство столбца: {columnDefinition.Header}");
throw new ArgumentException($"Не задано свойство столбца: {columnDefenition.Header}");
}
}
@ -52,13 +52,13 @@ namespace Components.NonVisualComponents
Table table = builder.StartTable();
foreach (var columnDefinition in bigTable.ColumnDefinitions)
foreach (var columnDefenition in bigTable.ColumnDefenitions)
{
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(columnDefinition.Weight);
builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(columnDefenition.Weight);
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.Write(columnDefinition.Header);
builder.Write(columnDefenition.Header);
}
foreach (var mergedColumn in bigTable.MergedColumns)
@ -82,25 +82,25 @@ namespace Components.NonVisualComponents
}
builder.EndRow();
foreach (var columnDefinition2 in bigTable.ColumnDefinitions2)
foreach (var columnDefenition in bigTable.ColumnDefenitions)
{
builder.InsertCell();
builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(columnDefinition2.Weight);
builder.Write(columnDefinition2.Header);
builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(columnDefenition.Weight);
builder.Write(columnDefenition.Header);
}
builder.EndRow();
int columnIndex;
foreach (var columnDefinition in bigTable.ColumnDefinitions)
foreach (var columnDefinition in bigTable.ColumnDefenitions)
{
string currentPropertyName = columnDefinition.PropertyName;
string currentHeader = columnDefinition.Header;
columnIndex = 0;
foreach (var columnDefinition2 in bigTable.ColumnDefinitions2)
foreach (var columnDefenition in bigTable.ColumnDefenitions)
{
string currentPropertyName1 = columnDefinition2.PropertyName;
string currentHeader1 = columnDefenition.Header;
if (currentPropertyName == currentPropertyName1)
if (currentHeader == currentHeader1)
{
table.Rows[0].Cells[columnIndex].CellFormat.VerticalMerge = CellMerge.First;
table.Rows[1].Cells[columnIndex].CellFormat.VerticalMerge = CellMerge.Previous;
@ -112,11 +112,11 @@ namespace Components.NonVisualComponents
foreach (var item in bigTable.Data)
{
foreach (var columnDefinition2 in bigTable.ColumnDefinitions2)
foreach (var columnDefenition in bigTable.ColumnDefenitions)
{
builder.InsertCell();
var propertyValue = item.GetType()
.GetProperty(columnDefinition2.PropertyName)?
.GetProperty(columnDefenition.PropertyName)?
.GetValue(item)?.ToString();
builder.Write(propertyValue ?? "");

View File

@ -12,20 +12,20 @@ namespace Components.SupportClasses
public string DocumentTitle = string.Empty;
public List<ColumnDefinition> ColumnDefinitions;
public List<ColumnDefinition> ColumnDefinitions2;
public List<string> Header;
public List<ColumnDefenitions> ColumnDefenitions;
public List<T> Data;
public List<int[]> MergedColumns;
public BigTable(string filePath, string documentTitle, List<ColumnDefinition> columnDefinitions, List<ColumnDefinition> columnDefinitions2, List<T> data, List<int[]> mergedColumns)
public BigTable(string filePath, string documentTitle, List<string> header, List<ColumnDefenitions> columnDefenitions, List<T> data, List<int[]> mergedColumns)
{
FilePath = filePath;
DocumentTitle = documentTitle;
ColumnDefinitions = columnDefinitions;
Header = header;
Data = data;
MergedColumns = mergedColumns;
ColumnDefinitions2 = columnDefinitions2;
ColumnDefenitions = columnDefenitions;
}
}
}

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Components.SupportClasses
{
public class ColumnDefinition
public class ColumnDefenitions
{
public string Header;
public string PropertyName;

View File

@ -58,21 +58,20 @@ namespace WinForms
List<ColumnDefinition> columnDefinitions = new List<ColumnDefinition>
List<string> header = new List<string>
{
new ColumnDefinition { Header = "Работа", PropertyName = "Work", Weight = 35 },
new ColumnDefinition { Header = "", PropertyName = "Education1", Weight = 35 },
new ColumnDefinition { Header = "", PropertyName = "Education2", Weight = 10 },
new ColumnDefinition { Header = "Фамилия", PropertyName = "LastName", Weight = 20 }
"Работа",
"",
"",
"Фамилия"
};
List<ColumnDefinition> columnDefinitions2 = new List<ColumnDefinition>
List<ColumnDefenitions> columnDefenitions = new List<ColumnDefenitions>
{
new ColumnDefinition { Header = "Возраст", PropertyName = "Age", Weight = 20 },
new ColumnDefinition { Header = "Опыт", PropertyName = "Experience", Weight = 20 },
new ColumnDefinition { Header = "Должность", PropertyName = "Position", Weight = 20 },
new ColumnDefinition { Header = "Фамилия", PropertyName = "LastName", Weight = 20 }
new ColumnDefenitions { Header = "Возраст", PropertyName = "Age", Weight = 20 },
new ColumnDefenitions { Header = "Опыт", PropertyName = "Experience", Weight = 20 },
new ColumnDefenitions { Header = "Должность", PropertyName = "Position", Weight = 20 },
new ColumnDefenitions { Header = "Фамилия", PropertyName = "LastName", Weight = 20 }
};
List<Worker> data = new List<Worker>
@ -92,7 +91,7 @@ namespace WinForms
{
try
{
BigTable<Worker> bigTable = new(dialog.FileName, "Задание 2", columnDefinitions, columnDefinitions2, data, mergedColumns);
BigTable<Worker> bigTable = new(dialog.FileName, "Задание 2", header, columnDefenitions, data, mergedColumns);
wordTable.CreateTable(bigTable);
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
}