Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @using System.Collections.ObjectModel
- @using Microsoft.AspNetCore.Components
- @using Syncfusion.EJ2.Blazor.Grids
- @using System.Dynamic;
- @using System.ComponentModel;
- <div class="esa-grid-view view-border">
- <h2>My Entities</h2>
- <div class="container-fluid mb-2">
- @if (ViewDefinition != null)
- {
- <EjsGrid DataSource="@Entities"ModelType="@ModelType">
- <GridColumns>
- @foreach(var viewField in ViewDefinition.ViewFields.Where(viewField => viewField.Visible).OrderBy(viewField => viewField.ColumnIndex))
- {
- <GridColumn HeaderText="@viewField.DisplayName">
- <Template>
- Test
- </Template>
- </GridColumn>
- }
- </GridColumns>
- </EjsGrid>
- }
- else
- {
- //TODO [PK] Redirect to error page
- <p>Can not load data: no ViewDefinition found!</p>
- }
- </div>
- <div>
- @ChildContent
- </div>
- </div>
- @code {
- private DynamicEntity ModelType => new DynamicEntity();
- private IList<DynamicEntity> _entities = new List<DynamicEntity>() {};
- #region Parameters
- [Parameter]
- public IList<DynamicEntity> Entities
- {
- get
- {
- return _entities;
- }
- set
- {
- _entities = value;
- StateHasChanged();
- }
- }
- protected override void OnParametersSet()
- {
- base.OnParametersSet();
- //EntityDefinition is kind of a descriptor of the concrete EntityType (which properties does it have with which types, what properties should be displayed etc.
- if (this.EntityDefinition == null)
- {
- throw new ArgumentNullException("No EntityDefinition given.");
- }
- if (ViewDefinition == null)
- {
- this.ViewDefinition = this.EntityDefinition.Views.FirstOrDefault(view => view.IsDefaultView);
- }
- }
- [Parameter]
- public RenderFragment ChildContent { get; set; }
- [Parameter]
- public EntityDefinition EntityDefinition { get; set; }
- [Parameter]
- public View ViewDefinition { get; set; }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement