Controllo CheckBoxList
Il controllo CheckBoxList permette di selezionare uno o più valori a partire da una sorgente dati.
Se DataType è impostato come Boolean, converte automaticamente il valore selezionato come true.
Se DataType è impostato come Boolean, converte automaticamente il valore selezionato come true.
Personalizzazione
Possiamo impostare una sorgente dati personalizzata specificando il valore ControlClass per DataSourceMode e inserendo namespace e nome classe nella proprietà del controllo CustomControlClass.
using System;
using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using DataWeb.Structure;
using DataWeb.Identity;
namespace MyApp.DataWeb.Data.Controls
{
public class Control_VisibleRoles : CheckBoxList
{
private readonly IUserService userService;
public Control_VisibleRoles(Form form, IServiceProvider serviceProvider) : base(form, serviceProvider)
{
userService = serviceProvider.GetService<IUserService>();
}
public override async Task<IEnumerable<List.ListItem>> GetListValuesAsync(Dictionary<string, object> parameters, IUser user, string itemId = null, NavigationContext navigationContext = null, CancellationToken cancellationToken = default)
{
var roles = await userService.GetRolesAsync();
return roles.Select(x => new List.ListItem { Title = x.Name, Value = x.Name });
}
}
}