Extending the Kentico BizForm Recorded Data Grid
In our custom development of Kentico based solutions we are often creating new modules or extending existing modules to provide easy to use features for our clients. Recently I was trying to improve a few custom BizForm actions that I had directly wired into BizFormEditData.ascx and its code behind. These few bits of custom code hadn’t caused any issues yet with hotfixes, but it was time to improve these ideas and separate them out from the Kentico core files.
Creating extenders for module interface pages
gives you most of what you need to add to the user interface of a control and your action logic. Don’t forget the abstract base class holds a reference to the control you’re extending, that’s also helpful for accessing GetString(…) localization.
With the logic now contained in its own class, the final hurdle I was facing was that the Forms module UI settings for Recorded Data supported the selection of a Page Extender, but I had a Control Extender. Somewhere on the Devnet Q&A I found you could new up and init a control extender directly, but I was back to modifying the core BizFormEditData.ascx.cs file. After reviewing the few Page Extenders that are out in the open, like ContactGroupGeneralExtender, I went back and created our multi-purpose Page Extender:
Now I have a solution I can deploy to production, via Import/Export, without having to modify Kentico core files.
There are at least 3 ways to do anything in Kentico, is there a better way to do this, let me know!