Andy Smith's Blog

Page.RegisterStartupScript('Andy', 'MetaBuilders_WebControls_GainKnowledge();');

CheckBoxList again

The more that I actually got to the nuts and bolts of created an extended checkboxlist which selected items based on a DataSelectedField, the more i didn't want to bother. Because of the way ListControl overrides OnDataBinding to do its thing and the way DataBinding is implemented, I can't raise the DataBinding event without accessing private fields on the control class. grr.

This means i'd have to either break the "rules" of encapsulation, or completely reimplement ListControl AND CheckBoxList to add this feature. grr grr.

 I'd also have to copy/paste ( AGAIN ) an implemention of what DataSourceHelper.GetResolvedDataSource does. for the love of GOD why was that marked internal?

It seemed like such a simple idea at the time, but implementation choices of the base controls made it much harder than it should be.

I'd basically have maybe a hundred lines of re-implementation for ~4 lines of actual extension.

meh.

please don't take this as a condemnation of the web controls guys. Overall they did a great job of allowing for extension of the control library. It's just that sometimes you hit a wall, and there's no happy way around it.

Comments

Monty said:

Had a similar problem with extending the datagrid control... why are some of these items internal?? It was on that day that I really understood the power of open source...

Monty
# May 1, 2004 4:44 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)