|
@inject IHttpContextAccessor httpContextAccessor
@if (TransposedGrid != null)
{
//To difference normal Grid and transposed Grid
if (TransposedGrid == true)
{
<EjsGrid ID="TGrid" TValue="ExpandoObject" GridLines="GridLine.Vertical" RowHeight="60" Width="900" DataSource="@Transposed">
<GridColumns>
@foreach (var col in Cols)
{
<GridColumn Field="@col" Width="100">
<Template>
@{
dynamic data = (context as ExpandoObject);
<span>@(((IDictionary<String, Object>)data)[col])</span>
}
</Template>
</GridColumn>
}
</GridColumns>
</EjsGrid>
}
else
{ // render normal grid
<EjsGrid TValue="Order" Width="900" AllowPaging="true" DataSource="@Orders">
</EjsGrid>
}
}
<style>
TGrid.e-grid .e-gridcontent {
border-top: 1px solid rgb(224, 224, 224);
}
#TGrid.e-grid .e-gridheader {
display: none;
}
</style>
@code{
protected override async Task OnInitializedAsync()
{
//determine whether the device is mobile or not.
string device = httpContextAccessor.HttpContext.Request.Headers["user-agent"];
if (device.Contains("Mobile"))
. . . . . . . . . . . . ..
}
//normal datasource
Orders = Enumerable.Range(1, 45).Select(x => new Order()
{
OrderID = 1000 + x,
. . .. . . . . . .. . .
}).ToList();
//generating a transposed records
foreach (PropertyInfo prop in Orders[0].GetType().GetProperties())
{
. . . .. . . . .
Transposed.Add(list);
}
}
}
|
[MainLayout.razor]
@inherits LayoutComponentBase
<div class="sidebar">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
<a rel='nofollow' href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
</div>
<div class="content px-4" style="height: 500px;width:1000px">
@Body
</div>
</div>
|
|
|