Zdravím,
chtěl jsem se zeptat jak nastavit již při načtení stránky, aby byl nějaký filtr aktivní. Pochopil jsem, že se provádí pomocí FilteringOptions, ale nikde není v dokumentaci popsáno jak to správně zadat.
Díky
Napsal jsem jednoduchý příklad co potřebuji:
public class UserListDTO
{
public int UserId { get; set; }
public string Name { get; set; }
public bool IsDelete { get; set; }
}
public BusinessPackDataSet<UserListDTO> UserList { get; set; } = new()
{
PagingOptions = { PageSize = 20 },
SortingOptions = { SortExpression = nameof(UserListDTO.Name) },
FilteringOptions = ....
};
Funkcionalita, kterou potřebujete není přímo popsána, je však ukázána na Příkladu 12 a 13. Zkusím vám to popsat.
Základní filtrování se nastavuje na sloupci pomocí AllowFiltering. Zmiňuji to z důvodu, pokud by bylo potřeba aby uživatel filtry dále upravoval.
Co se týče přímo filtrování pomocí FilteringOptions, tak se provádí pomocí tohoto kódu:
FilteringOptions = new FilteringOptions
{
FilterGroup = new FilterGroup
{
Filters = new List<FilterBase>
{
new FilterCondition { FieldName = "UserId", Operator = FilterOperatorType.GreaterThan, Value = 10 },
new FilterCondition { FieldName = "Name", Operator = FilterOperatorType.Contains, Value = "2" }
},
Logic = FilterLogicType.Or
},
}
Do filters se nastavují jednotlivé filtry na jednotlivé properties. V ukázce filtruji UserId, které musí být větší jak 10. Dále pak Name, které musí obsahovat hodnotu 2. Pro správnou funkčnost je potřeba respektovat datové typy, tedy používat správné operátory. Konkrétně se jedná o tyto operátory:
Takto lze nastavit všechny potřebné filtry. Důležitým parametrem je Logic, který definuje jak se filtry mají aplikovat. Možnosti jsou buď And, NotAnd, Or, NotOr.