13. Other Tidbits
Attribute Overriding
<< * Optimistic Locking and QForms
|
Back to Main
|
Specifying a Template Filepath >>
View Source
will open in a new window
Overriding QControl Attributes
All
QControl
classes have any number attributes which can be defined. These are either general attributes attributable to all controls (e.g. control name, font, color, width, etc.), or they can also be specific attributes for specific controls (e.g. maxlength for textboxes, rows for listboxes, etc.)
There are two ways these attributes can be specified. For most of these examples, you have seen these specified as properties on the object themselves, e.g. "$this->lblMessage->FontSize = 12". But note that they can also be assigned through
Attribute Overriding
in the HTML template, itself.
Whenever you make a render call, you can specify any settable property name to override the currently set value. So in this example, we've programmatically set the
lblMessage
to have a blue font. But note that we've overridden the font color in the HTML template to be green, and of course, it shows up as green.
Keep in mind that the settable property name must match the exact name of the property you are trying to set (it is case sensitive). The value you are trying to set it to can be optionally encapsulated within quotes.
In theory, if you have a designer working on the design and a developer working on the display logic, the designer should be able to make changes to the design in the HTML template file without needing the intervention of the developer working on the
QForm
object definition.
Click the button to change my message.
Click Me!