Пример #1
0
        protected override void LoadPivotGridLayout(PivotGridSavedLayout savedLayoutObj)
        {
            PivotGridControl.Fields.Clear();

            if (savedLayoutObj.UIPlatform != UIPlatform.Win &&
                savedLayoutObj.UIPlatform != UIPlatform.All)
            {
                throw new ArgumentException("Cannot load layout that is built for another UI platform.");
            }
            if (savedLayoutObj.TypeName != View.ObjectTypeInfo.Type.Name)
            {
                throw new ArgumentException("Cannot load layout that is built for another object type.");
            }

            var stream = new MemoryStream(savedLayoutObj.LayoutFile.Content);

            stream.Position = 0;
            PivotGridControl.RestoreLayoutFromStream(stream);

            var session         = savedLayoutObj.Session;
            var loadedLayoutObj = FindLoadedLayout(session, UIPlatform.Win, TargetTypeName);

            if (loadedLayoutObj == null)
            {
                loadedLayoutObj             = new PivotGridLoadedLayout(session);
                loadedLayoutObj.SavedLayout = savedLayoutObj;
            }
            loadedLayoutObj.SavedLayout = savedLayoutObj;
            session.CommitTransaction();
            UpdateLayoutActionCaption(savedLayoutObj);
        }
Пример #2
0
        protected override void LoadPivotGridLayout(PivotGridSavedLayout savedLayoutObj)
        {
            PivotGridControl.Fields.Clear();

            IsPivotGridLayoutLoading = true;

            if (savedLayoutObj.UIPlatform != UIPlatform.Web &&
                savedLayoutObj.UIPlatform != UIPlatform.All)
            {
                throw new ArgumentException("Cannot load layout that is built for another UI platform.");
            }
            if (savedLayoutObj.TypeName != TargetTypeName)
            {
                throw new ArgumentException("Cannot load layout that is built for another object type.");
            }

            var session         = savedLayoutObj.Session;
            var loadedLayoutObj = FindLoadedLayout(session, UIPlatform.Web, TargetTypeName);

            if (loadedLayoutObj == null)
            {
                loadedLayoutObj             = new PivotGridLoadedLayout(session);
                loadedLayoutObj.SavedLayout = savedLayoutObj;
            }
            loadedLayoutObj.SavedLayout = savedLayoutObj;
            session.CommitTransaction();
            UpdateLayoutActionCaption(savedLayoutObj);
        }
Пример #3
0
        protected override void SavePivotGridLayout(PivotGridSavedLayout savedLayoutObj)
        {
            base.SavePivotGridLayout(savedLayoutObj);

            // Open stream.
            var stream = new MemoryStream();

            PivotGridControl.SaveLayoutToStream(stream);
            stream.Position = 0;

            // Save stream to datastore.
            savedLayoutObj.LayoutFile = new FileData(savedLayoutObj.Session);
            savedLayoutObj.LayoutFile.LoadFromStream("PivotGridLayout.xml", stream);
            savedLayoutObj.UIPlatform = UIPlatform.Win;
            savedLayoutObj.TypeName   = TargetTypeName;
            savedLayoutObj.Session.CommitTransaction();

            // Save to Loaded Layout
            var session         = savedLayoutObj.Session;
            var loadedLayoutObj = FindLoadedLayout(session, UIPlatform.Win, View.ObjectTypeInfo.Type.Name);

            if (loadedLayoutObj == null)
            {
                loadedLayoutObj = new PivotGridLoadedLayout(session);
            }
            loadedLayoutObj.SavedLayout = savedLayoutObj;
            session.CommitTransaction();
            UpdateLayoutActionCaption(savedLayoutObj);
        }
Пример #4
0
        protected override void SavePivotGridLayout(PivotGridSavedLayout savedLayoutObj)
        {
            base.SavePivotGridLayout(savedLayoutObj);

            // Open stream.
            MemoryStream stream = null;

            try
            {
                stream = new MemoryStream();
                PivotGridControl.SaveLayoutToStream(stream); // potentially throws a null exception
                stream.Position = 0;
            }
            catch
            {
                // cache the stream for deferred loading if the control object is not available
                stream = _CachedStream;
            }

            // Save stream to datastore.
            savedLayoutObj.LayoutFile = new FileData(savedLayoutObj.Session);
            savedLayoutObj.LayoutFile.LoadFromStream("PivotGridLayout.xml", stream);
            savedLayoutObj.UIPlatform = UIPlatform.Web;
            savedLayoutObj.TypeName   = TargetTypeName;
            savedLayoutObj.Session.CommitTransaction();

            // Save to Loaded Layout
            var session         = savedLayoutObj.Session;
            var loadedLayoutObj = FindLoadedLayout(session, UIPlatform.Web, TargetTypeName);

            if (loadedLayoutObj == null)
            {
                loadedLayoutObj = new PivotGridLoadedLayout(session);
            }
            loadedLayoutObj.SavedLayout = savedLayoutObj;
            session.CommitTransaction();
            UpdateLayoutActionCaption(savedLayoutObj);
        }