I used this to store the relative path to my custom control of choice. Hello:
Thank you SOOOOO Much for your outstanding contributions (all members who worked on this!!).
After working with several commercial modules with similar capabilities, extending this module to support my use case was DELIGHTFUL.
Specifically, my client needed a custom calculator on the form to determine how many licenses a customer needed to buy because of it's specific licensing policy. I needed a way to incorporate a custom license calculator component into a user defined form, and it was intimidatingly complex in the other product i had at my disposal. Additionally, if all possible, I wanted a way to incorporate other custom controls without having to add a new datatype, but a simple web user control.
Within five minutes of downloading and configuring the source for this module, I found all I needed.
Step 1) I noticed both the URL Datatype and the RTF data type loaded other custom controls.
Step 2) It was a simple matter to copy the TextHTML class into a new class named 'Custom' replaced all instances of 'TextHTML' with 'Custom',
Step 3) I removed the case for the simple text box. In place of the defaultvalue: i stored the relative path to the user control and loaded this in where the RTF editor was getting loaded. very very simple switch.
Step 4) Copied all of the URL_ settings in the SharedResources.resx file and replaced "URL" with "Custom" thus "URL_DefaultValue.Help" becomes "Custom_DefaultValue.Help". I hit a bump when I didn't change "Custom.Text" from URL to Custom, it caused a duplicate key exception.
Step 5) Created a new directory in the root of the module: CustomControls.
Step 6) Created a new class in Components named BaseCustomControl, inherited from System.Web.UI.UserControl.
Step 7) Added new public string Property "Text" to BaseCustomControl.
Step 8) Added new web user control to the CustomControls directory created in Step 5. Inherited from BaseCustomControl.
Step 9) My custom control when it loads reads its value from the text property. When saved same thing.
Step 10) Add "Custom" to Datatypes.Config
I am pretty sure thats everything. If you want this done for your module and you can't figure out what the hell I just said, I'd be happy to do it for a nominal fee. Times are tough, I don't have a cake joe corporate IT job making buku bucks any more, so I only eat what i can kill.
Total Time to Solution: 2 hours.
Great Work! Outstanding Design!