Ejemplo n.º 1
0
 protected override void ProcessColumnDrop(Point dropLocation, GridViewColumn column)
 {
     if (TemplateGroupsElement.RaiseGroupByChanging(this.TemplateElement.ViewTemplate, this.Description, NotifyCollectionChangedAction.ItemChanged))
     {
         return;
     }
     RadGridViewDragDropService.InsertOnLeftOrRight <SortDescriptor>(RadGridViewDragDropService.IsDroppedAtLeft(dropLocation, this.Size.Width), (Collection <SortDescriptor>) this.Description.GroupNames, this.sortDescription, new SortDescriptor(column.Name, ListSortDirection.Ascending));
     TemplateGroupsElement.RaiseGroupByChanged(this.TemplateElement.ViewTemplate, this.Description, NotifyCollectionChangedAction.ItemChanged);
 }
Ejemplo n.º 2
0
        protected virtual void ProcessColumnDrop(Point dropLocation, GridViewColumn column)
        {
            GroupDescriptor groupDescriptor = new GroupDescriptor();

            groupDescriptor.GroupNames.Add(new SortDescriptor(column.Name, ListSortDirection.Ascending));
            if (TemplateGroupsElement.RaiseGroupByChanging(this.templateElement.ViewTemplate, groupDescriptor, NotifyCollectionChangedAction.Add))
            {
                return;
            }
            RadGridViewDragDropService.InsertOnLeftOrRight <GroupDescriptor>(RadGridViewDragDropService.IsDroppedAtLeft(dropLocation, this.Size.Width), (Collection <GroupDescriptor>) this.description.Owner, this.description, groupDescriptor);
            TemplateGroupsElement.RaiseGroupByChanged(this.templateElement.ViewTemplate, groupDescriptor, NotifyCollectionChangedAction.Add);
        }
Ejemplo n.º 3
0
        private void ProcessGroupFieldDrop(Point dropLocation, GroupFieldDragDropContext context)
        {
            SortDescriptor   sortDescription  = context.SortDescription;
            GridViewTemplate viewTemplate     = context.ViewTemplate;
            GroupDescriptor  groupDescription = context.GroupDescription;

            if (TemplateGroupsElement.RaiseGroupByChanging(viewTemplate, groupDescription, NotifyCollectionChangedAction.Batch) || this.ProcessGroupFieldDropOverride(dropLocation, context))
            {
                return;
            }
            groupDescription.GroupNames.Remove(sortDescription);
            GroupDescriptor groupDescriptor = new GroupDescriptor();

            groupDescriptor.GroupNames.Add(sortDescription);
            RadGridViewDragDropService.InsertOnLeftOrRight <GroupDescriptor>(RadGridViewDragDropService.IsDroppedAtLeft(dropLocation, this.Size.Width), (Collection <GroupDescriptor>) this.description.Owner, this.description, groupDescriptor);
            if (groupDescription.GroupNames.Count == 0)
            {
                viewTemplate.DataView.GroupDescriptors.Remove(groupDescription);
            }
            TemplateGroupsElement.RaiseGroupByChanged(viewTemplate, groupDescriptor, NotifyCollectionChangedAction.Batch);
        }
Ejemplo n.º 4
0
        protected override bool ProcessGroupFieldDropOverride(
            Point dropLocation,
            GroupFieldDragDropContext context)
        {
            bool isDroppedAtLeft = RadGridViewDragDropService.IsDroppedAtLeft(dropLocation, this.Size.Width);

            if (this.Description != context.GroupDescription)
            {
                SortDescriptor   sortDescription = context.SortDescription;
                GridViewTemplate viewTemplate    = context.ViewTemplate;
                context.GroupDescription.GroupNames.Remove(sortDescription);
                if (context.GroupDescription.GroupNames.Count == 0)
                {
                    viewTemplate.DataView.GroupDescriptors.Remove(context.GroupDescription);
                }
                RadGridViewDragDropService.InsertOnLeftOrRight <SortDescriptor>(isDroppedAtLeft, (Collection <SortDescriptor>) this.Description.GroupNames, this.sortDescription, sortDescription);
            }
            else
            {
                RadGridViewDragDropService.MoveOnLeftOrRight <SortDescriptor>(isDroppedAtLeft, (Collection <SortDescriptor>) this.Description.GroupNames, this.sortDescription, context.SortDescription);
            }
            TemplateGroupsElement.RaiseGroupByChanged(context.ViewTemplate, context.GroupDescription, NotifyCollectionChangedAction.Batch);
            return(true);
        }