Editing 实现模式‐Brazor表格 - CassiniLaw/KnowledgeBase GitHub Wiki

标注

classDiagram
namespace Pages.ProductHaul._ViewModel {
    class ProductHaulViewModel {
        +string ServicePoint
        +int ID
        +string Crew
        +string From
        +string BinFrom
        +string To
        +string BinTo
        +string Client
        +int CallSheet
        +string Blend
        +string Amount
        +string Status
        +Rig Rig
    }
}

Invoker ..> ProductHaulViewModel : Brazor表格

Loading

类图

classDiagram
direction LR
namespace Pages.ProductHaul._ViewModel {
    class ProductHaulViewModel {
        +string ServicePoint
        +int ID
        +string Crew
        +string From
        +string BinFrom
        +string To
        +string BinTo
        +string Client
        +int CallSheet
        +string Blend
        +string Amount
        +string Status
        +Rig Rig
    }
}

namespace Pages.ProductHaul {
class Index.razor {
    <<razor>>
}

class SfGrid {
	<<div>>
	+string @ref="_grid" 
	+string TValue="ProductHaulViewModel" 
	+string DataSource="@_dataSource"    
	+string Height="100%"
	+string AllowGrouping="true"
	+string AllowSelection="false"
	+string AllowTextWrap="true"
	+string AllowSorting="true"
	+string GridLines="GridLine.Both"
}

class GridColumns {
	<<div>>
}

class GridColumn {
	<<div>>
	+string Field="@nameof(ProductHaulViewModel.Crew)" 
	+string HeaderText="Crew"
}


class Index  {
    <<partial>>
    -List~ShippingLoadSheet~ _filteredProductHaulLoad
    -List~ShippingLoadSheet~ _salesProductHaulLoad
    -List~ShippingLoadSheet~ _ProductHaulLoadProjects
    -IEnumerable<int> _currentServicePoints
    +IProductHaulRepository ProductHaulRepository
    +IOptions<SalesOptions> SalesOptions
    +IServicePointFilterService ServicePointFilterService
    -ILogger<Index> Log
    -Guid _refreshGuid
    #IAutoRefreshDataService AutoRefreshDataService

    -Task FiltersUpdatedAsync(IEnumerable~ShippingLoadSheet~ filteredSource)
    #Task OnAfterRenderAsync(bool firstRender)
    -Task ServicePointFilterChangedEventAsync(IEnumerable<int> ids)
    -Task PopulateDataAsync(IEnumerable<int> servicePointIds)
    -void RefreshCurrentServicePoints(IEnumerable<int> servicePointIds, out bool hasChanges)
    -Task RefreshDataSourceAsync()
}
}

Index.razor *--> Index
Index.razor *--> SfGrid
SfGrid *--> GridColumns
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.Crew)", HeaderText="Crew"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.From)", HeaderText="From"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.BinFrom)", HeaderText="Bin # (From)"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.To)", HeaderText="To"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.BinTo)", HeaderText="Bin # (To)"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.Client)", HeaderText="Client"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.CallSheet)", HeaderText="CallSheet#"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.Blend)"  HeaderText="Blend"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.Amount)", HeaderText="Amount"
GridColumns *--> GridColumn : Field="@nameof(ProductHaulViewModel.Status)", HeaderText="Status" 

Index --> "*" ProductHaulViewModel : _dataSource
Loading
⚠️ **GitHub.com Fallback** ⚠️