Click here to Skip to main content
15,176,980 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I'm currently converting a reasonably complex excel spreadsheet calculation tool to UWP.

From my online research there is no 'grid' in the traditional sense under UWP, unless you use a third party tool like Syncfusion.

I currently have several Grids (5 rows x 49 columns), however as XAML Binding doesn't map to Dictionaries well, I've had to create a property per 'cell' to bind (245 properties per grid), not to mention all of the OnPropertyChanged calls.

I've done one grid and it works fine - however I've got another 4 to implement, then another 5 (14 x 49) data entry grids.

This seems like a LOT of effort, so I can't help but think I've missed something and that there must be an easier way.

Does anyone have any suggestions?

Thanks in advance.

What I have tried:

Sledge hammer approach - property & textbox grid per cell. I've unsuccessfully tried using a Collection and Converter.
Posted
Updated 6-Mar-17 15:59pm
Comments
johannesnestler 7-Mar-17 9:57am
   
have you questioned why there is no "DataGrid" in UWP Standard controls? Because I had the same "problem" I thought a little about it... my conclusion: Because it is really difficult to provide a Control with (from user perspective) expected behaviour on all supported platforms (just try it with minimal resolution on a phone...). I ended with a simple listbox and a DataTemplate for one row (per visualstate), and a Header Control to set sort direction... Maybe I try the telerik lib recommendet by Graeme_Grant - the others I tried, didn't meet my expectations... just my 2c
Rodimus74 8-Mar-17 19:12pm
   
Thank you, yes I did question the UI. But the simple fact is, the data is row/column data - so a excel like component is the most appropriate.

1 solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)




CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900