DxCheckBoxSettings.AllowIndeterminateStateByClick Property
Specifies whether a click on the checkbox editor can switch it to the indeterminate state.
Namespace: DevExpress.Blazor
Assembly:
DevExpress.Blazor.v26.1.dll
Declaration
[DefaultValue(false)]
[Parameter]
public bool AllowIndeterminateStateByClick { get; set; }
Property Value
| Type |
Default |
Description |
| Boolean |
false |
true if a click on the checkbox can switch it to the indeterminate state; otherwise, false.
|
A checkbox editor can be in checked, unchecked, and indeterminate states when the Grid or TreeList is in display mode. When these components are in edit mode, the indeterminate state is available only when the following conditions are met:
- The checkbox is bound to a field whose data type differs from non-nullable Boolean.
- The CheckType property of the checkbox is set to
Checkbox (default value).
When a user switches between states, the checkbox skips the indeterminate state. Set the AllowIndeterminateStateByClick property to true to allow users to select the indeterminate state.
The following code snippet allows users to select the indeterminate state:
@inject ProductService ProductData
<DxGrid Data="@products" EditMode="GridEditMode.EditRow">
<Columns>
<DxGridCommandColumn />
<DxGridDataColumn FieldName="ProductName" />
<DxGridDataColumn FieldName="UnitPrice" />
<DxGridDataColumn FieldName="UnitsInOrder" />
<DxGridDataColumn FieldName="Discontinued">
<EditSettings>
<DxCheckBoxSettings AllowIndeterminateStateByClick="true" />
</EditSettings>
</DxGridDataColumn>
</Columns>
</DxGrid>
@code {
private Product[]? products;
protected override async Task OnInitializedAsync() {
products = await ProductData.GetData();
}
}
public class ProductService {
public Task<Product[]> GetData() {
List<Product> products = new List<Product>();
products.Add(new Product() { ProductID = 1, ProductName = "Chai", UnitPrice = 19, UnitsInOrder = 20, Discontinued = true });
products.Add(new Product() { ProductID = 2, ProductName = "Chang", UnitPrice = 19, UnitsInOrder = 40, Discontinued = true });
products.Add(new Product() { ProductID = 3, ProductName = "Aniseed Syrup", UnitPrice = 10, UnitsInOrder = 70, Discontinued = true });
products.Add(new Product() { ProductID = 4, ProductName = "Mishi Kobe Niku", UnitPrice = 97, UnitsInOrder = 32, Discontinued = false });
products.Add(new Product() { ProductID = 5, ProductName = "Ikura", UnitPrice = 31, UnitsInOrder = 10 });
products.Add(new Product() { ProductID = 6, ProductName = "Chef Anton's Cajun Seasoning", UnitPrice = 22, UnitsInOrder = 12, Discontinued = false });
products.Add(new Product() { ProductID = 7, ProductName = "Chef Anton's Gumbo Mix", UnitPrice = 21.35m, UnitsInOrder = 16, Discontinued = true });
products.Add(new Product() { ProductID = 8, ProductName = "Grandma's Boysenberry Spread", UnitPrice = 25, UnitsInOrder = 20, Discontinued = true });
products.Add(new Product() { ProductID = 9, ProductName = "Uncle Bob's Organic Dried Pears", UnitPrice = 30, UnitsInOrder = 24, Discontinued = false });
products.Add(new Product() { ProductID = 10, ProductName = "Northwoods Cranberry Sauce", UnitPrice = 40, UnitsInOrder = 18, Discontinued = false });
products.Add(new Product() { ProductID = 11, ProductName = "Queso Cabrales", UnitPrice = 21, UnitsInOrder = 30 });
products.Add(new Product() { ProductID = 12, ProductName = "Queso Manchego La Pastora", UnitPrice = 38, UnitsInOrder = 10 });
return Task.FromResult(products.ToArray());
}
}
public class Product {
public int ProductID { get; set; }
public string ProductName { get; set; }
public decimal? UnitPrice { get; set; }
public short? UnitsInOrder { get; set; }
public bool? Discontinued { get; set; }
}
To allow/prohibit users to/from switching the checkbox to the indeterminate state at runtime, use the ICheckBoxSettings.AllowIndeterminateStateByClick property.
See Also