Cop.Borovkov.Var3/Report/report.md
2025-01-17 21:20:54 +04:00

6.4 KiB
Raw Permalink Blame History

Лабораторная работа 1

Компоненты:

CustomDataTable:

Визуальный компонент вывода таблицы значений

Публичные Методы:

  • Определить структуру таблицы
    void ConfigureColumns(params CustomDataTableColumnParameter[] columnParameters)
    
    CustomDataTableColumnParameter
    /// <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

Компонент для сохранения таблицы в пдф

Публичные Методы:

  • Определить структуру таблицы
    public void SaveToPdf(PdfTableInfo tableInfo)
    
    PdfTableInfo
    /// <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 столбцу Публичные Методы:

  • Сохранить в пдф
    public void SaveToPdf<TType>(PdfTableWithGroupingInfo<TType> tableInfo) where TType : class
    
    PdfTableWithGroupingInfo
    /// <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

Компонент создающий линейную диаграмму Публичные Методы:

  • Сохранить гистограмму в пдф
    public void SaveToPdf(PdfHistigramInfo histogramInfo)
    
    PdfHistigramInfo
    /// <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; }
    }