User (Old forums)MemberDecember 28, 2007 at 12:25 amPost count: 23064
1 – Really would help to see a real database binding sample with save functionality hooked up. Creating a dataset and binding to it simulates it sort-of, but after reading through samples and documentation for a day I’m still left wondering whats the best strategy to accomplish a simple database update or insert. Where do I hook in? If I’m expected to do this myself, I would expect to see maybe a simple “EndingEdit” event that notifies me with a set of arguments containing which datasets I should save, or at least an easy way to find the isdirty flag to check for. I saw somewhere in the documentation discussing actual database saves and I believe it points to the msdn documentation for datasets. Not helpful at all.
2 – The default cell editor for checkboxes bothers me somewhat. If I click to insert a new row, ideally I’d want to be able to easily set it to a default value of true or false… simply because the control isn’t good at representing ‘null’ there. Very easy to look at the nulled checkbox and think its filled in. Seems guaranteed to annoy end users.
3 – When EndEdit is called internally, it seems to throw lots of exceptions if a row is invalid according to a database’s constraints (for example, pass null for the value of a non-nullable column) but there doesn’t seem to be a good place to catch all these exceptions! Again, a good DB sample would help a lot here. My only option here seems to be to subclass the grid and override EndEdit just so I can wrap it in a try block. I don’t even know if that would work, but its my only guess at this point. Otherwise the entire app crashes every time these constraints cause an exception. I’m still surprised there isn’t an “EndingEdit” and an “EndedEdit” event to receive. “EndedEdit” could potentially then pass any of these failure’s in a manageable way. Or maybe the solution is to just set the row in an error state… even then, I’d ideally want an event to notify me in my code of the error… not just report it to the end user.
Imported from legacy forums. Posted by fd (had 1982 views)Xceed SupportMemberJanuary 3, 2008 at 11:00 amPost count: 5658
Thank you for your feedback.
We take objective and constructive feedback really seriously and here is a more detailed answer for each of your point.
1- This one is 2 folds:
Concerning the suggestion to have a EndingEdit event: We already have an item on our todo list to add events in the DataGridControl to improve the DataGridControl/Window interactions. While I do not remember the exact timeframe (and concerned people are still on vacation), I do remember that it was discussed to be in some upcoming release ( don’t despair ).
Concerning the real database sample, I forwarded the suggestion to Jenny ( who is in charge of the documentation ).
2- The default checkbox editor for is bound to the value of the item returned by the IBindingList.AddNew method. The reason why it is in the “blank” state is probably because the default value for the column is null.
I can suggest 2 workaround: ensure that the default value of the column is different than null OR you can handle the InitializingInsertionRow event from the DataGridControl class to initialize cells value.
3- Point taken, While we already have a feature request opened for “events” I have opened a feature request that is slightly more focused towards letting the ‘programmer’ know of the validation (pre/post) errors.
However, you mention ‘Otherwise the entire app crashes every time these constraints cause an exception’. Could you clarify on this a little bit? Exceptions such as these are never supposed to escape from the DataGridControl? (at least, not during end-user operation)
Imported from legacy forums. Posted by Marcus [Xceed] (had 2381 views)User (Old forums)MemberAugust 20, 2008 at 5:11 pmPost count: 23064
This feature mention in point 3 was added in the latest version of DataGrid for WPF Pro (v3.0.8415.1500), which you can download from this link :
Imported from legacy forums. Posted by André (had 957 views)
- You must be logged in to reply to this topic.