コード例 #1
0
        /// <summary>
        /// Change node's IsChecked state based on CheckBox's IsChecked value.
        /// </summary>
        /// <param name="treeNode">specifies the treeNode. </param>
        /// <param name="isChecked">isChecked value.</param>
        internal void ChangeNodeState(TreeNode treeNode, bool?isChecked)
        {
            if (treeGrid.CheckBoxSelectionMode != CheckBoxSelectionMode.Default)
            {
                if (treeGrid.SelectionMode == GridSelectionMode.Single)
                {
                    this.SuspendAndChangeIsCheckedState(treeNode, isChecked);
                }
                else
                {
                    this.SetIsCheckedState(treeNode, isChecked);
                }

                treeGrid.RaiseNodeCheckStateChanged(new NodeCheckStateChangedEventArgs()
                {
                    Node = treeNode
                });
                treeGrid.SelectionController.ProcessSelectionOnCheckedStateChange(treeNode);
            }
            else
            {
                SetIsCheckedState(treeNode, isChecked);
                treeGrid.RaiseNodeCheckStateChanged(new NodeCheckStateChangedEventArgs()
                {
                    Node = treeNode
                });
            }
            treeNode.isCheckedChanged = true;
        }