public override void Undo(object p_args) { MoveRptItemArgs args = (MoveRptItemArgs)p_args; RptItem drgItem = args.RptItem; drgItem.Row = args.OldRow; drgItem.Col = args.OldCol; drgItem.Update(true); }
public override object Execute(object p_args) { MoveRptItemArgs args = (MoveRptItemArgs)p_args; RptItem drgItem = args.RptItem; CellEventArgs dstPos = args.DstPos; args.OldRow = drgItem.Row; args.OldCol = drgItem.Col; drgItem.Row = dstPos.Row; drgItem.Col = dstPos.Column; drgItem.Update(true); return(drgItem); }
/// <summary> /// 拖放结束 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void OnItemDropped(object sender, CellEventArgs e) { if (_drgItem == null) { _owner.Excel.DecorationRange = null; return; } if (_drgItem.TestMovIntersect(e.Row, e.Column)) { Kit.Warn("此对象移动后的位置后会与其他对象重叠,请先移动可能重叠的对象后重试。"); _drgItem = null; return; } MoveRptItemArgs moveAgs = new MoveRptItemArgs(_drgItem, e); _owner.Info.ExecuteCmd(RptCmds.MoveRptItemCmd, moveAgs); _drgItem = null; }