Этап 1. Форматирование данных в колонках

This commit is contained in:
prodigygirl 2023-04-23 12:20:37 +04:00
parent e7941ff84c
commit 11bd076201
7 changed files with 20 additions and 10 deletions

View File

@ -44,6 +44,10 @@ namespace FurnitureAssembly
{ {
column.Width = columnAttr.Width; column.Width = columnAttr.Width;
} }
if (columnAttr.IsFormatable)
{
column.DefaultCellStyle.Format = columnAttr.Formatter;
}
} }
} }
} }

View File

@ -1,4 +1,5 @@
using System; using System;
using System.Runtime.Serialization;
namespace FurnitureAssemblyContracts.Attributes namespace FurnitureAssemblyContracts.Attributes
{ {
@ -7,18 +8,23 @@ namespace FurnitureAssemblyContracts.Attributes
{ {
public ColumnAttribute(string title = "", bool visible = true, int width public ColumnAttribute(string title = "", bool visible = true, int width
= 0, GridViewAutoSize gridViewAutoSize = GridViewAutoSize.None, bool = 0, GridViewAutoSize gridViewAutoSize = GridViewAutoSize.None, bool
isUseAutoSize = false) isUseAutoSize = false, bool isFormatable = false, string? formatter = null)
{ {
Title = title; Title = title;
Visible = visible; Visible = visible;
Width = width; Width = width;
GridViewAutoSize = gridViewAutoSize; GridViewAutoSize = gridViewAutoSize;
IsUseAutoSize = isUseAutoSize; IsUseAutoSize = isUseAutoSize;
IsFormatable = isFormatable;
Formatter = formatter;
} }
public string Title { get; private set; } public string Title { get; private set; }
public bool Visible { get; private set; } public bool Visible { get; private set; }
public int Width { get; private set; } public int Width { get; private set; }
public GridViewAutoSize GridViewAutoSize { get; private set; } public GridViewAutoSize GridViewAutoSize { get; private set; }
public bool IsUseAutoSize { get; private set; } public bool IsUseAutoSize { get; private set; }
public bool IsFormatable { get; private set; }
public string? Formatter { get; private set; }
} }
} }

View File

@ -10,7 +10,7 @@ namespace FurnitureAssemblyContracts.ViewModels
public int Id { get; set; } public int Id { get; set; }
[Column(title: "Название компонента", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] [Column(title: "Название компонента", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
public string ComponentName { get; set; } = string.Empty; public string ComponentName { get; set; } = string.Empty;
[Column(title: "Цена", width: 70)] [Column(title: "Цена", width: 70, isFormatable: true, formatter: "0.00##")]
public double Cost { get; set; } public double Cost { get; set; }
} }
} }

View File

@ -14,7 +14,7 @@ namespace FurnitureAssemblyContracts.ViewModels
public int Id { get; set; } public int Id { get; set; }
[Column(title: "Название изделия", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] [Column(title: "Название изделия", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
public string FurnitureName { get; set; } = string.Empty; public string FurnitureName { get; set; } = string.Empty;
[Column(title: "Цена", width: 70)] [Column(title: "Цена", width: 70, isFormatable: true, formatter: "0.00##")]
public double Price { get; set; } public double Price { get; set; }
[Column(visible: false)] [Column(visible: false)]
public Dictionary<int, (IComponentModel, int)> FurnitureComponents{ get; set; } = new(); public Dictionary<int, (IComponentModel, int)> FurnitureComponents{ get; set; } = new();

View File

@ -12,15 +12,15 @@ namespace FurnitureAssemblyContracts.ViewModels
public int? ClientId { get; set; } public int? ClientId { get; set; }
[Column(title: "Отправитель", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] [Column(title: "Отправитель", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
public string SenderName { get; set; } = string.Empty; public string SenderName { get; set; } = string.Empty;
[Column(title: "Дата письма", width: 100)] [Column(title: "Дата письма", width: 100, isFormatable: true, formatter: "dd/MM/yyyy")]
public DateTime DateDelivery { get; set; } public DateTime DateDelivery { get; set; }
[Column(title: "Заголовок", width: 170)] [Column(title: "Заголовок", width: 170)]
public string Subject { get; set; } = string.Empty; public string Subject { get; set; } = string.Empty;
[Column(title: "Текст", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] [Column(title: "Текст", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
public string Body { get; set; } = string.Empty; public string Body { get; set; } = string.Empty;
[DisplayName("Прочитано")] [Column(title: "Прочитано", width: 10)]
public bool IsRead { get; set; } public bool IsRead { get; set; }
[DisplayName("Ответ")] [Column(title: "Ответ", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
public string? Reply { get; set; } public string? Reply { get; set; }
public int Id => throw new NotImplementedException(); public int Id => throw new NotImplementedException();

View File

@ -23,13 +23,13 @@ namespace FurnitureAssemblyContracts.ViewModels
public string FurnitureName { get; set; } = string.Empty; public string FurnitureName { get; set; } = string.Empty;
[Column(title: "Количество", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] [Column(title: "Количество", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
public int Count { get; set; } public int Count { get; set; }
[Column(title: "Сумма", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] [Column(title: "Сумма", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true, isFormatable: true, formatter: "0.00##")]
public double Sum { get; set; } public double Sum { get; set; }
[Column(title: "Статус", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)] [Column(title: "Статус", gridViewAutoSize: GridViewAutoSize.Fill, isUseAutoSize: true)]
public OrderStatus Status { get; set; } = OrderStatus.Неизвестен; public OrderStatus Status { get; set; } = OrderStatus.Неизвестен;
[Column(title: "Дата создания", width: 100)] [Column(title: "Дата создания", width: 100, isFormatable: true, formatter: "dd/MM/yyyy")]
public DateTime DateCreate { get; set; } = DateTime.Now; public DateTime DateCreate { get; set; } = DateTime.Now;
[Column(title: "Дата выполнения", width: 100)] [Column(title: "Дата выполнения", width: 100, isFormatable: true, formatter: "dd/MM/yyyy")]
public DateTime? DateImplement { get; set; } public DateTime? DateImplement { get; set; }
[Column(visible: false)] [Column(visible: false)]
public int? ImplementerId { get; set; } public int? ImplementerId { get; set; }

View File

@ -11,7 +11,7 @@ namespace FurnitureAssemblyContracts.ViewModels
public string ShopName { get; set; } = string.Empty; public string ShopName { get; set; } = string.Empty;
[Column(title: "Адрес магазина", isUseAutoSize: true, gridViewAutoSize: GridViewAutoSize.Fill)] [Column(title: "Адрес магазина", isUseAutoSize: true, gridViewAutoSize: GridViewAutoSize.Fill)]
public string Address { get; set; } = string.Empty; public string Address { get; set; } = string.Empty;
[Column(title: "Дата открытия", width: 100)] [Column(title: "Дата открытия", width: 100, isFormatable: true, formatter: "dd/MM/yyyy")]
public DateTime DateOpening { get; set; } public DateTime DateOpening { get; set; }
public Dictionary<int, (IFurnitureModel, int)> Furnitures { get; set; } = new(); public Dictionary<int, (IFurnitureModel, int)> Furnitures { get; set; } = new();