78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								@page "/Box/CheckDDD"
							 | 
						||
| 
								 | 
							
								@using Radzen.Blazor
							 | 
						||
| 
								 | 
							
								@using System.ComponentModel
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<style>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    .total-footer {
							 | 
						||
| 
								 | 
							
								        font-weight: 600;
							 | 
						||
| 
								 | 
							
								        color: var(--rz-secondary);
							 | 
						||
| 
								 | 
							
								        padding: 8px 12px;
							 | 
						||
| 
								 | 
							
								        background-color: var(--rz-base-100);
							 | 
						||
| 
								 | 
							
								        border-top: 2px solid var(--rz-border-default);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								</style>
							 | 
						||
| 
								 | 
							
								@* <RadzenDataGrid @ref="grid" Data="@summaryData" TItem="dynamic"
							 | 
						||
| 
								 | 
							
								                AllowPaging="true" PageSize="5">
							 | 
						||
| 
								 | 
							
								    <Columns>
							 | 
						||
| 
								 | 
							
								        <RadzenDataGridColumn Title="商品品类" Property="Category" Width="200px" />
							 | 
						||
| 
								 | 
							
								        <RadzenDataGridColumn Title="销售总量" TextAlign="TextAlign.Right">
							 | 
						||
| 
								 | 
							
								            <Template Context="group">
							 | 
						||
| 
								 | 
							
								                <span class="font-bold">@group.TotalQuantity.ToString("N0")</span>
							 | 
						||
| 
								 | 
							
								            </Template>
							 | 
						||
| 
								 | 
							
								            <FooterTemplate>
							 | 
						||
| 
								 | 
							
								                <div class="total-footer">
							 | 
						||
| 
								 | 
							
								                    全品类合计: @orders.Sum(o => o.Quantity).ToString("N0")
							 | 
						||
| 
								 | 
							
								                </div>
							 | 
						||
| 
								 | 
							
								            </FooterTemplate>
							 | 
						||
| 
								 | 
							
								        </RadzenDataGridColumn>
							 | 
						||
| 
								 | 
							
								    </Columns>
							 | 
						||
| 
								 | 
							
								</RadzenDataGrid> *@
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@code {
							 | 
						||
| 
								 | 
							
								    RadzenDataGrid<dynamic> grid;
							 | 
						||
| 
								 | 
							
								    List<Order> orders = new();
							 | 
						||
| 
								 | 
							
								    IEnumerable<dynamic> summaryData;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected override void OnInitialized()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        // 模拟数据
							 | 
						||
| 
								 | 
							
								        orders = new List<Order> {
							 | 
						||
| 
								 | 
							
								            new Order { Category = "电子产品", Quantity = 15 },
							 | 
						||
| 
								 | 
							
								            new Order { Category = "电子产品", Quantity = 8 },
							 | 
						||
| 
								 | 
							
								            new Order { Category = "家居用品", Quantity = 23 }
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        CalculateSummary();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    void CalculateSummary()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        summaryData = orders
							 | 
						||
| 
								 | 
							
								            .GroupBy(o => o.Category)
							 | 
						||
| 
								 | 
							
								            .Select(g => new
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Category = g.Key,
							 | 
						||
| 
								 | 
							
								                TotalQuantity = g.Sum(x => x.Quantity)
							 | 
						||
| 
								 | 
							
								            }).ToList();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public class Order : INotifyPropertyChanged
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        public event PropertyChangedEventHandler PropertyChanged;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public string Category { get; set; }
							 | 
						||
| 
								 | 
							
								        private int _quantity;
							 | 
						||
| 
								 | 
							
								        public int Quantity
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            get => _quantity;
							 | 
						||
| 
								 | 
							
								            set
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                _quantity = value;
							 | 
						||
| 
								 | 
							
								                PropertyChanged?.Invoke(this,
							 | 
						||
| 
								 | 
							
								                    new PropertyChangedEventArgs(nameof(Quantity)));
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |