WinForms, WPF and ASP.NET Spreadsheet - Copy/Paste Enhancements (Coming soon in v15.1)

02 June 2015

The upcoming release of our Spreadsheet control will include significantly improved algorithms for copy/paste operations across all supported platforms (WinForms, WPF, ASP.NET).

In previous versions, copying and/or moving cell contents involved working with actual data instead of creating temporary copies of source objects. This method had a number of restrictions...You were unable to copy and paste, move, drag or drop cells when a source range intersected a target range or when it was located within the target range. v15.1 eliminates these restrictions forever - you can now easily replace formulas by their calculated values with the Paste Special dialog or drag and drop selected cells in a worksheet when the target range overlaps the source range.

.NET Spreadsheet - Paste Values

This release also includes improved algorithms calculating target ranges for copied objects. Prior to v15.1, we divided the target range into separate ranges - at the same size as the source range - and triggered copy operations for each range individually. This approach had some negative side-effects....we got multiple copies of the same object instead of a single object associated with the entire target range. With v15.1, we no longer create multiple copies of the object located in the copied range...Instead we do the following:

  • If the source object range intersects the target range, the new object will not be created for certain object types and the source object will be extended to populate the union or contiguous cell range composed of the source and target ranges. 
  • If the source object range does not intersect the target range, there will be a single copy created which occupies the maximum possible range within the target range.

Let’s see how all of this actually works. For example, a user copies the third row containing a color scale conditional formatting rule and pastes it to rows 6-8.

.NET Spreadsheet - Copy/Paste Operations

Previously, the copy/paste operation would create a separate conditional formatting rule for each row in the target range.


With v15.1, we have a single conditional formatting rule associated with the entire target range. 


By using a new algorithm to calculate target ranges, we have significantly improved performance of copy and paste operations for the DevExpress Spreadsheet control. The following charts should give you an indication of what we've been able to achieve...


As always, we'd love to get your feedback - tell us what you think about this improved approach to copy/paste operations. 


 

no comments
No Comments

Please login or register to post comments.