Advertisement
Guest User

DynamicEntityTable

a guest
Sep 23rd, 2019
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.30 KB | None | 0 0
  1. @using System.Collections.ObjectModel
  2. @using Microsoft.AspNetCore.Components
  3. @using Syncfusion.EJ2.Blazor.Grids
  4. @using System.Dynamic;
  5. @using System.ComponentModel;
  6.  
  7. <div class="esa-grid-view view-border">
  8.     <h2>My Entities</h2>
  9.     <div class="container-fluid mb-2">
  10.         @if (ViewDefinition != null)
  11.         {
  12.             <EjsGrid DataSource="@Entities"ModelType="@ModelType">
  13.                 <GridColumns>
  14.                     @foreach(var viewField in ViewDefinition.ViewFields.Where(viewField => viewField.Visible).OrderBy(viewField => viewField.ColumnIndex))
  15.                     {
  16.                         <GridColumn HeaderText="@viewField.DisplayName">
  17.                             <Template>
  18.                                 Test
  19.                             </Template>
  20.                         </GridColumn>
  21.                     }
  22.                 </GridColumns>
  23.             </EjsGrid>
  24.         }
  25.         else
  26.         {
  27.             //TODO [PK] Redirect to error page
  28.             <p>Can not load data: no ViewDefinition found!</p>
  29.         }
  30.  
  31.     </div>
  32.     <div>
  33.         @ChildContent
  34.     </div>
  35. </div>
  36.  
  37. @code {
  38.     private DynamicEntity ModelType => new DynamicEntity();
  39.     private IList<DynamicEntity> _entities = new List<DynamicEntity>() {};
  40.  
  41.     #region Parameters
  42.     [Parameter]
  43.     public IList<DynamicEntity> Entities
  44.     {
  45.         get
  46.         {
  47.             return _entities;
  48.         }
  49.         set
  50.         {
  51.             _entities = value;
  52.             StateHasChanged();
  53.         }
  54.     }
  55.  
  56.     protected override void OnParametersSet()
  57.     {
  58.         base.OnParametersSet();
  59.         //EntityDefinition is kind of a descriptor of the concrete EntityType (which properties does it have with which types, what     properties should be displayed etc.
  60.         if (this.EntityDefinition == null)
  61.         {
  62.             throw new ArgumentNullException("No EntityDefinition given.");
  63.         }
  64.  
  65.         if (ViewDefinition == null)
  66.         {
  67.             this.ViewDefinition = this.EntityDefinition.Views.FirstOrDefault(view => view.IsDefaultView);
  68.         }
  69.     }
  70.  
  71.     [Parameter]
  72.     public RenderFragment ChildContent { get; set; }
  73.  
  74.     [Parameter]
  75.     public EntityDefinition EntityDefinition { get; set; }
  76.  
  77.     [Parameter]
  78.     public View ViewDefinition { get; set; }
  79.     #endregion
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement