Silverlight 2 DataGrid December 2008 Release


Since we released the first version of the DataGrid in October we have been listening to your feedback and have an early holiday gift to give. 


Today we are releasing an updated DataGrid that contains almost 30 fixes to the top issues that we heard, including:



  • Rows containing focus no longer disappear when the ItemsSource changes

  • ComboBox and other controls opening a popup now work as expected when set as cell content 

  • DataGrid Selection is preserved when sorting

  • Buttons outside the DataGrid work as expected when they are clicked while the DataGrid is in editing mode

  • Improved FrozenColumn behavior

  • Improved cell currency

  • SelectedItem is updated before the CurrentCellChanged event is raised

  • Many more…

For the full list of fixes check out this post by Brian Braeckel one of our DataGrid developers.


Breaking Changes


As a result of these fixes there are several behavioral breaking changes that you should consider before upgrading:



  1. FrozenColumnCount now takes hidden columns into account.  Previously, only the first columns with Visibility set to Visible were included in the range of frozen columns.  A column with Visibility set to Collapsed can now be considered frozen even though it isn’t visible.  This is to ensure that a column’s DisplayIndex corresponds with the DataGrid’s FrozenColumnCount (i.e. if FrozenColumnCount == 3, columns with DisplayIndex < 3 are considered frozen).

  2. The DataGrid’s current cell is now kept in sync with an ICollectionView’s notion of currency.  Moving the current position or changing the current item of an ICollectionView will now move the current cell and selected item of a DataGrid, and vice versa.  For this to work, the DataGrid’s ItemsSource must be set to a collection that fully implements ICollectionView.

  3. A developer can now programmatically reorder a non-frozen column to the frozen column range (and vice versa) by changing a column’s DisplayIndex.  The DataGrid used to throw an exception in these cases.  An end-user, however, is still unable to do this through the UI by dragging column headers.

Installation Instructions


Visit the Silverlight 2 DataGrid December 2008 Release download page and follow the installation instructions carefully. 


In order to use the new DataGrid you need to do all of the following:



  1. Close all instances of Microsoft Visual Studio.

  2. Delete all cached toolbox items by removing all files beginning with “toolbox” from %LocalAppData%\Microsoft\VisualStudio\9.0.

    • On Microsoft Windows XP, %LocalAppData% is Documents and Settings\UserName\Local Settings\Application Data.

    • On Microsoft Windows Vista, %LocalAppData% is Users\UserName\AppData\Local.

  3. Replace the following assemblies with the ones contained in the package in the link above:

    • %ProgramFiles%\Microsoft SDKs\Silverlight\v2.0\Libraries\Client\System.Windows.Controls.Data.dll

    • %ProgramFiles%\Microsoft SDKs\Silverlight\v2.0\Libraries\Client\System.Windows.Controls.Data.Design.dll

  4. For any existing projects, delete the reference to System.Windows.Controls.Data.dll and then re-add the reference.

We hope you enjoy the update and we look forward to bringing great new things to future versions of the DataGrid.

Comments (18)

  1. We are very happy to get out a bug-fix release of the Silverlight 2 DataGrid. It should be very easy

  2. Microsoft just released an update to the Silverlight 2 DataGrid that fixes the following issues:&#160;

  3. Danijel says:

    Thanks for new datagrid release! It is great that there are controls which are not in Silverlight core so they can be upgraded without major Silverlight release.

    I am interested on events which were removed from datagrid after Beta 2, will they ever come back? What are future datagrid plans? Any more information what is planned to be included, etc…

    Thanks for your hard work!

  4. Scott

    This is great. We were experiencing a lot of issues. It’s great MS decided to come with this release 🙂

    I tought we would’ve to wait until SL 3.

    I’m on leave until Jan 5th, but I’ll test this as soon as I get back.

    The last week I didn’t have chance to e-mail you the example of the issuee we had with the combobox, but probably it has already been fixed. I’ll let you know.

    Thanks

  5. geff zhang says:

    Silverlight 2 DataGrid控件的12月版本,修复了30多个bug,bug也是太多了吧: Rows containing focus no longer disappear when

  6. JohnPapa.net says:

    The DataGrid has taken some heat for a few problems it has caused people in Silverlight. That’s why it is great to see an updated version of the DataGrid so quickly. This new version claims to contain almost 30 fixes to the DataGrid: One of my most awaited

  7. The DataGrid has taken some heat for a few problems it has caused people in Silverlight. That’s why it

  8. scmorris says:

    Hi Danijel,

    We definately want to bring those events back.  The reason that they were removed in the first place is that we didn’t have enough information to ensure that they were always being fired appropriately.  Once this information is available to controls such as the DataGrid we plan on bringing them back.

    Hope this helps.

    -Scott

  9. In this issue: Nikhil Kothari, David Wynne, Damon Payne, Laurent Bugnion, Terence Tsang, Scott Morrison

  10. Thanigainathan.S says:

    Hi,

    Amazing post. This will be very useful for us.

    Thanks

  11. kangheegi says:

    good job….

    two way binding problem fixed.

    but moved Cell’s contents to implement row merge position behind existing other’s cell’s contents

    good update thank you~~~

  12. Frank says:

    Help

    I followed the instructions and now I Get a formatetc error when I try to add a datagrid to a project, brand new or an older one (that worked).. I unloaded tools, and then 2.0 SDK .. then tried to reload .. now I cant even install 2.0 sdk

    can you give me a sequence to get back up, without removing VS 2008 and starting from scratch?

    Thanks

  13. zzki says:

    Has the syntax of the columns collection somehow changed?  I recently upgraded to this new version of the datagrid.  In the previous version I was dynamically setting the Visibility property of each column by looping through the columns and setting the visibility based on the header value.

    Now my loop has no effect, and when I display the DataGridColumn.Count it always comes back 0.  It worked fine before, what gives?

  14. I was recently re-paving my machine and thought that it might be fun to show off what I use to prepare

  15. Jaime Bula says:

    This update is a must for the Telerik RadGridView to work.

  16. Dennis says:

    I have done this (i deleted al the files that starts with toolbox, there was 4 files hiddens) but now i dont see another item in the toolbox besides the datagrid, datepicker, ellipse and nothing else.-

    i tried adding manually but they dont show up, i can see then when i check "show all" but they are not active :S

  17. Peter Morris says:

    I followed these instructions but now see the following:

    A: All 3rd party items in my VS toolbox are now gone

    B: I have a toolbox tab named "#13119" which wont go away even if I reset the toolbox

    C: When I uninstall/reinstall my 3rd party libraries their components still aren’t in the toolbox.

    Any ideas?

  18. David says:

    Can someone give me a help?

    I update my development environment with the December release of DataGrid.  But how does the client get the new DataGrid when he/she navigates to the page?  I have the reference to System.Windows.Controls.Data.dll and set CopyLocal to True so that the XAP also contains this DLL.  But the client machine does not seem to run Silverlight application with the new DataGrid control.

    Thanks