6.4 KiB
6.4 KiB
Лабораторная работа 1
Компоненты:
CustomDataTable:
Визуальный компонент вывода таблицы значений
Публичные Методы:
- Определить структуру таблицы
CustomDataTableColumnParametervoid ConfigureColumns(params CustomDataTableColumnParameter[] columnParameters)
/// <summary> /// Параметры столбца таблицы /// </summary> public record CustomDataTableColumnParameter { /// <summary> /// Заголовок /// </summary> public string HeaderName { get; init; } = string.Empty; /// <summary> /// Ширина /// </summary> public int Width { get; init; } = 0; /// <summary> /// Видимость /// </summary> public bool Visible { get; init; } = true; /// <summary> /// Название свойства /// </summary> public string PropertyName { get; init; } = string.Empty; }
- Отчистить таблицу
public void Clear()
- Заполнить таблицу
public void Fill<TType>(IList<TType> insertValues)
Публичные Функции:
- Получить стоку таблицы в виде объекта
public TType? GetRow<TType>(int rowIndex) where TType : new()
Свойства:
- Индекс выбранной строки
public int SelectedRow
CustomListBox
Визуальный компонент выбора из списка значений
Публичные Методы:
- Заполнить список значениями
public void FillValues(IEnumerable<string> strings)
- Очистить список
public void Clear()
Свойства:
- Событие возникающие при изменении списка
public event EventHandler ValueChanged
- Обработка ошибок
public event Action<Exception> AnErrorOccurred
- Выбранное значение
public string Selected
CustomNumericInputField
Визуальный компонент ввода целочисленного значения допускающего null
Свойства:
- Событие возникающие при изменении поля ввода
public event EventHandler NumericInputChanged
- Обработка ошибок
public event Action<Exception> AnErrorOccurred
- Значения поля ввода
Возможно исключениеpublic int? Value
InvalidNumericInputValueException
Лабораторная работа 2
Компоненты:
CustomPdfTable
Компонент для сохранения таблицы в пдф
Публичные Методы:
- Определить структуру таблицы
PdfTableInfopublic void SaveToPdf(PdfTableInfo tableInfo)
/// <summary> /// Параметры для создания таблиц в пдф /// </summary> public record PdfTableInfo { /// <summary> /// имя файла (включая путь до файла) /// </summary> public string FilePath { get; init; } = @"C:\pdfTable.pdf"; /// <summary> /// название документа(заголовок в документе) /// </summary> public string Title { get; init; } = "Таблица"; /// <summary> /// Список таблиц /// </summary> public IEnumerable<string[,]> Tables { get; init; } = []; }
CustomPdfTableWithGrouping
Компонент создающий таблицу и группирует элементы по 1 столбцу Публичные Методы:
- Сохранить в пдф
PdfTableWithGroupingInfopublic void SaveToPdf<TType>(PdfTableWithGroupingInfo<TType> tableInfo) where TType : class
/// <summary> /// Параметры для создания таблицы в пдф с группировкой по 1 столбцу /// </summary> public class PdfTableWithGroupingInfo<TType> where TType : class { /// <summary> /// имя файла (включая путь до файла) /// </summary> public string FilePath { get; init; } = @"C:\pdfTable.pdf"; /// <summary> /// название документа(заголовок в документе) /// </summary> public string Title { get; init; } = "Таблица"; /// <summary> /// Высота заголовков /// </summary> public float HeaderHeight { get; init; } = 0.5f; /// <summary> /// Параметры столбцов /// </summary> public IEnumerable<ColumnInfo> Columns { get; init; } = []; /// <summary> /// Список таблиц /// </summary> public IEnumerable<RowInfo<TType>> Rows { get; init; } = []; }
CustomPdfHistogram
Компонент создающий линейную диаграмму Публичные Методы:
- Сохранить гистограмму в пдф
PdfHistigramInfopublic void SaveToPdf(PdfHistigramInfo histogramInfo)
/// <summary> /// Параметры для создания линейной диаграммы /// </summary> public record PdfHistigramInfo { /// <summary> /// Имя файла (включая путь до файла) /// </summary> public string FilePath { get; init; } = @"C:\pdfTable.pdf"; /// <summary> /// Заголовок документа /// </summary> public string DocumentTitle { get; init; } = "Гистограмма"; /// <summary> /// Заголовок диаграммы /// </summary> public string HistogramTitle { get; init; } = "Гистограмма"; /// <summary> /// Расположение легенды /// </summary> public PdfLegendPosition LegendPosition { get; init; } = PdfLegendPosition.Bottom; /// <summary> /// Значения /// </summary> public required IEnumerable<PdfHistogramLineInfo> Values { get; init; } }