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.

76 lines
2.1 KiB

@using BWPMModels;
<RadzenListBox @bind-Value=@SchuelerID
Data=@schuelerliste TextProperty="bezeichnung" ValueProperty="id" Style="height:350px"
Change=@(args => SchuelerChange(args, "schuelerlist")) />
@code {
[Parameter]
public EventCallback<string> OnSchuelerChanged { get; set; }
public List<BWPMModels.Schueler> Schueler { get; set; }
private Schueler _schueler { get; set; } = new BWPMModels.Schueler();
public List<Schuelerlist> schuelerliste = new List<Schuelerlist>();
public int SchuelerID;
public class Schuelerlist
{
public int id { get; set; }
public string bezeichnung { get; set; }
}
protected override async Task OnInitializedAsync()
{
}
public string ReloadData(string KlasseID)
{
if (KlasseID == "-1")
{
Schueler = BlazorApp.Controller.SchuelerController.GetAllActiveData();
}
else{
Schueler = BlazorApp.Controller.SchuelerController.GetByKlasseID(Convert.ToInt32(KlasseID));
}
schuelerliste.Clear();
int newschuelerid = 0;
bool found = false;
foreach (BWPMModels.Schueler item in Schueler)
{
Schuelerlist sl = new Schuelerlist();
sl.id = item.ID;
if (newschuelerid == 0) { newschuelerid = sl.id; };
//if (SchuelerID == sl.id) { found = true; }
sl.bezeichnung = item.name + " " + item.vorname;
schuelerliste.Add(sl);
};
SelectFirst();
return SchuelerID.ToString();
}
public Task SchuelerChange(object value, string name)
{
var str = value is IEnumerable<object> ? string.Join(", ", (IEnumerable<object>)value) : value;
return OnSchuelerChanged.InvokeAsync(str.ToString());
}
public string GetSchuelerID()
{
return SchuelerID.ToString();
}
public void SelectFirst()
{
try
{
SchuelerID = schuelerliste[0].id;
}
catch { SchuelerID = 0; };
}
}