A hierarchical list control with multiple selectable values.
It is not recommended to use the control in multirow since it will give a bad user experience.
It is not recommended to have more than a few hundred items in the list, since it will lead to bad user experience and slow performance. Use multi-picker instead which allows the user to see all selected nodes and fetch only the expanded nodes.
The user may select multiple nodes at once by shift-clicking the checkboxes.
The user may navigate within the control using the arrow keys, and space for selection.
Retrieves the default value for the control.
This call is only made if there is a field validation set for the field info and the field has any content. Fields used in an editable grid do not use this call.
Performs field validation when the user leaves the field or one of its dependencies is changed, initial values set by default value and initial values in edit-mode are not validated.
When saving the validation runs server side if the field value has changed. A field value is considered changed if in new mode the value is anything other than NULL
. In edit mode it is considered changed if it has a value that was not returned by the GetEditFields procedure.
CREATE PROCEDURE Example.Item_CheckboxTree
AS
BEGIN
SELECT
CONCAT('C', C.CategoryId) AS Id,
C.CategoryName AS Label,
CONVERT(varchar(30), NULL) AS ParentId
FROM
Example.Category C
UNION ALL
SELECT
CONCAT('I', I.ItemId) AS Id,
I.ItemName AS Label,
CONCAT('C', I.CategoryId) AS ParentId
FROM
Example.Item I
ORDER BY
Label;
END;