void IDropableObject.AcceptDrag(IDragableObject dragObject, Point position) { if (DragAccept != null) { DragAccept(dragObject, position); } }
public void AcceptDrag(IDragableObject dragObject, Point position) { DragObject obj = dragObject as DragObject; if (obj == null) { return; } AgDataGridRow targetRow = GetRowAtPos(position); if (targetRow == null) { return; } CorrectRowsOrder(); int targetSortOrder = ((DataItem)targetRow.DataContext).SortOrder; int targetRowVisibleIndex = dataGrid.GetRowVisibleIndex(targetRow.Handle); int draggedRowVisibleIndex = dataGrid.GetRowVisibleIndex(obj.Row.Handle); ((DataItem)obj.DataRow).SortOrder = targetSortOrder; //change rows order ChangeRowsOrder(targetRowVisibleIndex, draggedRowVisibleIndex); //resort grid data ResortGridData(); }
bool IDropableObject.CanAccept(IDragableObject dragObject, Point position) { if (CanDragAccept != null) { return(CanDragAccept(dragObject, position)); } return(false); }
void IDropableObject.AcceptDrag(IDragableObject dragObject, Point position) { DragObject obj = dragObject as DragObject; if (obj == null) { return; } // // Recycle // if (this.leftGrid == obj.Source || this.rightGrid == obj.Source) { Point localPt = DropController.TransformSurface(position, this.recycler, this.DragSurface); if (DropController.IsIn(this.recycler, localPt)) { IList <DataItem> items = obj.Source.DataSource as IList <DataItem>; items.Remove(obj.DataRow as DataItem); obj.Source.Refresh(); return; } } IList <DataItem> sourceItems = null; IList <DataItem> destItems = null; // // Right to Left // if (obj.Source == this.rightGrid) { sourceItems = this.rightGrid.DataSource as IList <DataItem>; destItems = this.leftGrid.DataSource as IList <DataItem>; } // // Left to Right // else if (obj.Source == this.leftGrid) { sourceItems = this.leftGrid.DataSource as IList <DataItem>; destItems = this.rightGrid.DataSource as IList <DataItem>; } DataItem dataItem = obj.DataRow as DataItem; if (sourceItems != null && destItems != null && dataItem != null && sourceItems.Contains(dataItem) && !destItems.Contains(dataItem)) { sourceItems.Remove(dataItem); destItems.Add(dataItem); this.leftGrid.Refresh(); this.rightGrid.Refresh(); } }
public bool CanAccept(IDragableObject dragObject, Point position) { DragObject obj = dragObject as DragObject; if (this.dataGrid == obj.Source) { Point localPt = DropController.TransformSurface(position, this.dataGrid, this.DragSurface); if (DropController.IsIn(this.dataGrid, localPt)) { return(true); } } return(false); }
bool IDropableObject.CanAccept(IDragableObject dragObject, Point position) { DragObject obj = dragObject as DragObject; if (obj == null) { return(false); } // // Recycle // if (this.leftGrid == obj.Source || this.rightGrid == obj.Source) { Point localPt = DropController.TransformSurface(position, this.recycler, this.DragSurface); if (DropController.IsIn(this.recycler, localPt)) { return(true); } } // // Left to Right // if (this.leftGrid == obj.Source) { Point localPt = DropController.TransformSurface(position, this.rightGrid, this.DragSurface); if (DropController.IsIn(this.rightGrid, localPt)) { return(true); } } // // Right to Left // else if (this.rightGrid == obj.Source) { Point localPt = DropController.TransformSurface(position, this.leftGrid, this.DragSurface); if (DropController.IsIn(this.leftGrid, localPt)) { return(true); } } return(false); }
public DragControllerEx(FrameworkElement dropContainer, IDragableObject dragableObject, Canvas surfaceCanvas, Point startPt, Point margin) : base(dragableObject, surfaceCanvas, startPt, margin) { this._dropContainer = dropContainer; }