You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
3.3 KiB

@page "/User/UserList"
@using Syncfusion.Blazor.Grids;
@using Syncfusion.Blazor.Spinner;
@using BlazorApp.Helper
@using BWPMModels;
@using BlazorApp.Controller;
<h1>UserList</h1>
<div class="col-lg-12 control-section">
<div class="content-wrapper">
<div class="row">
<div id="container">
<SfGrid DataSource="@users" Toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Update", "Cancel" })" Height="315" AllowSelection="true" AllowSorting="true" AllowFiltering="true" EnableVirtualization="true">
<GridFilterSettings Type="Syncfusion.Blazor.Grids.FilterType.Menu"></GridFilterSettings>
<GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>
<GridEvents OnActionBegin="OnBeginHandler" TValue="User"></GridEvents>
<GridSelectionSettings CheckboxOnly="true" PersistSelection="true" Type="SelectionType.Multiple"></GridSelectionSettings>
<GridColumns>
<GridColumn Type="ColumnType.CheckBox" AllowFiltering="false" AllowSorting="false" Width="60"></GridColumn>
<GridColumn Field=@nameof(User.ID) HeaderText="ID" IsPrimaryKey="true" Visible="true" Width="40"></GridColumn>
<GridForeignColumn Field=@nameof(User.usertype) HeaderText="Typ" ForeignKeyValue="Typ" ForeignDataSource="@usertypes" Width="150"></GridForeignColumn>
<GridColumn Field=@nameof(User.username) HeaderText="Username" Visible="true" Width="60"></GridColumn>
<GridColumn Field=@nameof(User.passwort) HeaderText="Passwort" Visible="true" Width="60"></GridColumn>
<GridColumn Field=@nameof(User.email) HeaderText="Mail" Visible="true" Width="60"></GridColumn>
<GridColumn Field=@nameof(User.mutiert_am) HeaderText="Mutiert" Visible="true" Format="d" Type="ColumnType.Date" Width="100"></GridColumn>
<GridColumn Field=@nameof(User.aktiv) HeaderText="Aktiv" Visible="true" Width="60" DisplayAsCheckBox="true"></GridColumn>
</GridColumns>
</SfGrid>
</div>
</div>
</div>
</div>
@code {
public List<User> users { get; set; }
public List<usertypedata> usertypes { get; set; }
protected override void OnInitialized()
{
users = BlazorApp.Controller.UserController.GetAllData();
usertypes = new List<usertypedata>();
usertypes.Add(new usertypedata { usertype = 0, Typ = "Admin" });
usertypes.Add(new usertypedata { usertype = 1, Typ = "User" });
}
private void OnBeginHandler(ActionEventArgs<User> Args)
{
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
{
if (Args.Action == "add")
{
var t = Args.Data; //returns the edited / insrted record details.
//insert into your db
}
else
{
BlazorApp.Controller.UserController.savedata(Args.Data);
//var t = Args.Data;
}
}
}
public class usertypedata
{
public int usertype { get; set; }
public string Typ { get; set; }
}
}