Hi - I'm hoping to use the combo of the RadPropertyGrid with the Dynamic Linq library and generic types as a way to support business rules. I've already got fully working code with a TextBox and now am hoping to replace that with a more feature-rich ExpressionEditor.
The idea is this: given an arbitrary class (well known at runtime), create an object of the class and wire it up to the RadPropertyGrid as a "sample". Then use the RadExpressionEditor (also wired to the same object) to enable the user to craft an expression that can select that item later during some other business processing (again, I have this basically working).
My three questions are as follows:
* the RadPropertyGrid supports DataAnnotations for things like [Browsable(false)] to suppress a given property from the RadPropertyGrid. I'm wondering if the same DataAnnotation support could be added to the ExpressionEditor Fields list so that fields like "IsChanged" (just part of the IChangeTracking interface) could be suppressed.
* Can the Fields list of the ExpressionEditor be updated to support complex types like the Property Grid (like nested properties)? (e.g. Class a has three string properties and a fourth property of "ClassB" with three int properties -- I want to see the deep property names for the three ints in the field list).
* Can the Editor itself support intellisense for an enum type? (e.g. property X if of type Choices which is an enum -- so then I add "X = " using the Expression Editor functions and manually start typing "Choices." in the editor and can see the possible values.
I'm guessing the information I've provided above is enough to answer, but if you would like some code snippets and/or screenshots of this, I can provide those.
Thanks in advance for your consideration. (and congrats on the Progress thing :) )
Erik Dahl
The idea is this: given an arbitrary class (well known at runtime), create an object of the class and wire it up to the RadPropertyGrid as a "sample". Then use the RadExpressionEditor (also wired to the same object) to enable the user to craft an expression that can select that item later during some other business processing (again, I have this basically working).
My three questions are as follows:
* the RadPropertyGrid supports DataAnnotations for things like [Browsable(false)] to suppress a given property from the RadPropertyGrid. I'm wondering if the same DataAnnotation support could be added to the ExpressionEditor Fields list so that fields like "IsChanged" (just part of the IChangeTracking interface) could be suppressed.
* Can the Fields list of the ExpressionEditor be updated to support complex types like the Property Grid (like nested properties)? (e.g. Class a has three string properties and a fourth property of "ClassB" with three int properties -- I want to see the deep property names for the three ints in the field list).
* Can the Editor itself support intellisense for an enum type? (e.g. property X if of type Choices which is an enum -- so then I add "X = " using the Expression Editor functions and manually start typing "Choices." in the editor and can see the possible values.
I'm guessing the information I've provided above is enough to answer, but if you would like some code snippets and/or screenshots of this, I can provide those.
Thanks in advance for your consideration. (and congrats on the Progress thing :) )
Erik Dahl