A checkbox column that specifically is for inclusion in a QDataGrid object. The two work together to hand off
important events and functionality.
The default functionality of this class shows the name of the column in the header, and uses the primary key of
a database object as the checkbox id. It also
stores the information on which boxes are checked in the session variable so that they can be easily recalled and do
not clutter the form state. You can override additional functions below if you would like to store the checkbox state
with the items themselves, or somewhere else.
If you turn on the CheckAll box in the header, you must subclass this column, and at a minimum implement the GetAllIds() function
so that it knows the full set of ids to record as checked.
This column keeps track of what is checked and not checked in real time using ajax, rather than using POST methods.
The primary reason is that what is visible in the table will generally not be the complete set of data available from
the database if the datagrid is using a paginator.