|
<div class="col-lg-12 control-section">
<div class="content-wrapper">
<div class="row">
<div class='e-mastertext'><b>Areas</b></div>
<SfGrid TValue="Area" SelectedRowIndex=0 Toolbar="@(new List<Object>() { "Add", "Edit", "Delete" })">
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<SfDataManager Adaptor="Adaptors.CustomAdaptor">
<CAComp T="Area" Details="areaList"></CAComp>
</SfDataManager>
<GridEvents RowSelected="AreaRowSelecthandler" TValue="Area"></GridEvents>
<GridColumns>
</GridColumns>
</SfGrid>
<div class='e-statustext'>Showing Rates for Area: <b>@SelectedArea</b></div>
<SfGrid @ref="areaRateGrid" TValue="AreaRate" Query="@Qry" SelectedRowIndex=0 Toolbar="@(new List<Object>() { "Add", "Edit", "Delete" })">
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<SfDataManager Adaptor="Adaptors.CustomAdaptor">
<CAComp T="AreaRate" Details="areaRateList"></CAComp>
</SfDataManager>
<GridColumns>
<GridColumn Field="@nameof(AreaRate.AreaID)" HeaderText="Pump Type" Width="110"> </GridColumn>
<GridColumn Field="@nameof(AreaRate.CustomerID)" HeaderText="Rate Occasion" Width="110"> </GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
<style>
.e-statustext,
.e-mastertext {
font-size: 15px;
font-family: Roboto;
opacity: 0.87;
padding: 1em;
}
</style>
@code{
public Query Qry { get; set; } = new Query();
SfGrid<AreaRate> areaRateGrid;
public List<Area> areaList;
public List<AreaRate> areaRate;
public List<AreaRate> areaRateList;
public string SelectedArea { get; set; }
public Guid? RowIndex { get; set; }
public void AreaRowSelecthandler(RowSelectEventArgs<Area> Args)
{
Qry = new Query().Where(new WhereFilter() { Field = "CustomerID", Operator = "equal", value = Args.Data.CustomerID });
}
protected override void OnInitialized()
{
areaList = Enumerable.Range(1, 5).Select(x => new Area()
{
AreaID = 1000 + x,
CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[x - 1],
Freight = 2.1 * x,
}).ToList();
areaRateList = Enumerable.Range(1, 75).Select(x => new AreaRate()
{
AreaID = 1000 + x,
CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)],
BaseRate = 2.1 * x,
}).ToList();
}
|