부모노드가 checked 나 unchecked 되면 자식도 모두 checked 나 unchecked 된다.
자식노드 unchecked 되면 부모노드도 unchecked되게 한다.

on-selection-checked="onSelectionChecked"
            onSelectionChecked: function(event)
            {
                var me = this;
                var detail = event.detail;
                var checked = detail.checked;  //체크하여 변경된값
                var data = event.detail.data;
                var rowIndex = detail.rowIndex;
                var provider = detail.provider;
                var nodeIndex = detail.nodeIndex;

                if (checked && data.arc_cd_up == "ROOT")
                {
                    me.$.gridPanel.selectionChild(rowIndex, checked);
                }
                else
                {
                    // 부모노드가 unchecked 되면 자식node도 unchecked
                    var childIndexes = provider.getChildIndexes(nodeIndex);

                    var _checkedCnt = 0;
                    var _uncheckedCnt = 0;
                    childIndexes.forEach(function(data, index, array)
                    {
                        provider.isSelectionChecked(data) ? ++_checkedCnt : ++_uncheckedCnt;
                    });

                    // 자식노드의 checked 상태가 all checked or all unchecked 일경우에만 unchecked 작동
                    if (!(_checkedCnt > 0 && _uncheckedCnt > 0))
                    {
                        childIndexes.forEach(function(data, index, array)
                        {
                            me.$.gridPanel.selectionCheck(data, checked);
                        });
                    }
                    
                    // 자식노드가 unchecked 되면 부모node도 unchecked
                    var parentIndex = provider.getParentIndex(nodeIndex);
                    if (parentIndex > -1 && !checked)
                    {
                        me.$.gridPanel.selectionCheck(parentIndex, false);
                    }
                }
            },


sc-checkbox-column에서 check전파 참조
http://blog.daonelab.com:8000/post/19/1716/