Generated DataGrid Objects
Although the concept is known as a Meta DataGrid... the generated DataGrid objects
in and of itself is just a subclass of the actual QDataGrid object. (Note that this is different
than a MetaControl, which is not a control, but is in fact a single data object
and a collection of controls that can be generated from and linked to it.)
A generated/meta datagrid is simply a QDataGrid with a bunch of Meta___() methods to
allow you to easily define and add columns for a given data class.
Using simple string properties or more complex (and more powerful) QCubed Query Nodes, you can
add any column (even columns from linked tables) to the datagrid, and the meta-functionality
will automatically take care of things like the column's Title, Html, Filter and
Sorting properties.
It even comes with its own MetaDataBinder(), and the datagrid is already set up to use that
as its databinder (but of course, even this is override-able). It's also very easy to specify
a condition on the meta datagrid - you don't even need to define your own data bind function! Simply set
the AdditionalConditions property to an appropriate QQuery condition, and you're good to go. In
this example, we'll only show projects whose status is "open". Clauses such as expand can also easily
be applied by similarly setting the AdditionalClauses property.
But again, similar to MetaControls, note that the datagrid is just a regular QDataGrid object,
and the columns are just regular QDataGridColumn objects, which means that you can modify
the colums or the datagrid itself however you see fit.
For example, you can change or add a filter to a meta-created QDataGridColumn. Just remember
that if there's already one auto-generated for you, you may want to clear it first
by changing the FilterType to None before applying your new filter to it. This
is particularly important when switching to a ListFilter type from a TextFilter type
because the old text filter would otherwise show up as an entry in the dropdown labeled "0".