This project is read-only.

Bug fixes. 2014 April 05

SourceGrid repo is getting some fixes time to time, so please use latest version from the source code repository at

SourceGrid 4.40 released! 2012 Jul 16

Please download new version from

Source code repository:

SourceGrid 4.22 released! 2009 11 14

Please download new version from

SourceGrid code repository moved from CodePlex to bitbucket. Now you can find newest SourceGrid code here:

New Spanning algorithm implemented! 2009 10 17

Finally, a new row and column spanning algorithm has been implemented. I have added four test cases, around 20 new unit tests to check that everything will be working fine. Also, form sample 21 is modified. I added a new context menu, where user can easily create and remove rows and columns and see how cell spannings are behaving. Please note that inserting columns / rows will work like this in Grid object:
* If a new row/col is added, each spanned row /col will be expanded, if the new object is inside spanned cell range
* If new row/col is before spanned cell, it's spanning range will be moved to the right or to bottom
* If a row/col is removed, then either the spanned cell will have it's span decreased, or completely removed, or moved up/down in the grid

I expect this might cause a little head-scartching at first, since such functionality is not standard, as it is not present in excel or open office calc. However, an alternative was simply to dissalow such behaviour, which is not the best choice, imho.

Please report any bugs or usage problems!

New algorithm for column / row span checking 2009 09 27

It has been quite a while since the last version came. I have been on a Vladivostok - Moscow Transsiberian train trip during these months. The trip was fantastic, lasting four long weeks. But is is not the only reason for delaying another SourceGrid version. The reason for that is that there are some problems since 4.21 versions with column/row spanning.

Before version 4.21, spanned cells could overlap other cells. That is, one cell could be expanded to occupy other cell area. However, this solution has some problems with the drawing code. Overlapped cell could not be identified easily, and reliably. There was also a performance cost for finding an overlapped cell, and there was also a maximum column and row spanning.

In SourceGrid 4.21, a new restriction was imposed - no cells could overlap. This solved drawing and performance problems, but the solution was not good enough. Specifically, if you delete rows, the index for overlapped cells becomes invalid, and cells are identified incorrectly.

Now there is a concrete solution to solve spanning issue up to till the end. The solution is to change the way how spanned cell indexes are held. Current solutions is to a dictionary for spanned cells, where each item in the dictionary shows whether there is a spanned cell. So, when the grid has no spanned cells at all, the dictionary is empty. If, for example, a cell with row span = 3 and col span = 2 is added, then six items are added to dictionary. Now, if we remove a single row before our spanned cell, all six items must be removed, and the other six must be added. This solution is inefficient. The proposed solution is to work spanned cell ranges.

The new solution is to have a separate list of spanned cell ranges. When a grid has a spanned cell (3 * 2), a new Range would be added to the list. If the row is removed before our spanned cell, we need to iterate over all ranges, and subtract the row start and row end values.This is much more efficient, since if the spanned cell is very big, say 15*1., then the number of items to update is not 150, but still one.

I hope to implement this algorithm in the coming months, but possibly no earlier than beginning of november. After that a new version will be released!
Support for SourceGrid users is provided via forums and issue trackers as always, and fixes for simple problems are delivered immediately to trunk.

SourceGrid got a dotTrace open source license! 2009 06 18

I am happy to announce that JetBrains kindly provided SourceGrid project with one Open Source License for dotTrace profiler! I have contacted them just last week, and in couple of days they asked more information about the project, and after verifying it, they granted it.

The license will be valid for one year, up till June 16 20010.

Also I would like to thank to all active members who help SourceGrid project with answering questions on the discussion and issues. Also, there are people who are constantly helping with bug-fixes and even new features. I hope in some future, if there will be a constant shown interest in the project, SourceGrid will have more developers!

SourceGrid 4.21 released! 2009 06 08

SourceGrid team is happy to anounce release of SourceGrid 4.21 Beta. This release includes many bug-fixes and also new features, like printing.

There is a performance bug with cell spanning, however. We intend to resolve this in the upcoming release, which will be releases as soon as this performance issue will be solved. Preliminary schedule is end of 2009 June or early July.

Last edited Apr 5, 2014 at 8:35 AM by dariusdamalakas, version 6


No comments yet.