示例#1
0
 private void PrepareLoadingDataControl(DataGridLoadDataControl control)
 {
     if (control != null)
     {
         control.Owner = this.owner;
         this.owner.visualStateService.RegisterDataLoadingListener((IDataStatusListener)control);
     }
 }
示例#2
0
        public object GenerateContainerForItem(RowGenerationContext info, object containerType)
        {
            DataGridGroupHeader groupHeader = null;

            object generatedContent = null;

            if (groupHeaderType.Equals(containerType))
            {
                groupHeader = new DataGridGroupHeader();
            }
            else if (object.Equals(frozenHeader, containerType))
            {
                // Frozen Headers are placed in different panel (not in cells panel).
                groupHeader = new DataGridGroupHeader(true);
            }

            if (groupHeader != null)
            {
                if (groupHeader.IsFrozen)
                {
                    this.owner.FrozenGroupHeadersHost.Children.Add(groupHeader);
                }
                else
                {
                    var contentLayer = this.owner.GroupHeadersContentLayer;
                    if (contentLayer != null)
                    {
                        contentLayer.AddVisualChild(groupHeader);
                    }
                }

                generatedContent = groupHeader;
            }

            if (containerType != null && containerType.Equals(loadingDataControlType))
            {
                var control = new DataGridLoadDataControl();

                var contentLayer = this.owner.GetContentLayerForColumn(null);
                if (contentLayer != null)
                {
                    contentLayer.AddVisualChild(control);
                }

                generatedContent = control;
            }

            if (rowDetailType.Equals(containerType))
            {
                generatedContent = this.owner.rowDetailsService.DetailsPresenter;
                this.owner.rowDetailsService.DetailsPresenter.Visibility = Visibility.Visible;
            }

            return(generatedContent);
        }
示例#3
0
        public void PrepareContainerForItem(GridRowModel decorator)
        {
            DataGridLoadDataControl control = decorator.Container as DataGridLoadDataControl;

            if (control != null)
            {
                control.Owner = this.owner;
                this.owner.visualStateService.RegisterDataLoadingListener((IDataStatusListener)control);
            }

            this.PrepareGroupRow(decorator, decorator.Container as DataGridGroupHeader);
        }
示例#4
0
        public void ClearContainerForItem(GridRowModel decorator)
        {
            DataGridLoadDataControl control = decorator.Container as DataGridLoadDataControl;

            if (control != null)
            {
                control.Owner = null;
                this.owner.visualStateService.UnregisterDataLoadingListener((IDataStatusListener)control);
            }

            DataGridGroupHeader groupHeader = decorator.Container as DataGridGroupHeader;

            if (groupHeader != null)
            {
                groupHeader.Owner = null;
            }
        }