Checkbox column in architect and grid

I've seen several questions/answers that seem to relate to this, but none have given me something I can work with.

I have a standard gridpanel in architect.
It's tied to a ExtDirect store, and the store's model has a boolean field on it.

I want a checkbox column in the gridpanel tied to this field so that:
- Rows are rendered with the box ticked/unticked as per the model they're rendering
- When I tick/untick the checkbox, the model in the store should be changed
- Presumably, red dirty data tabs will appear on the corner of the cell, as well

I've seen various suggestions, but none appear to cover this exactly.

I think I want:
- Row editting plugin
- Promote column to class, override the class, and set xtype to checkbox

But "promote to class" is greyed out in the context box on any column in my grid.

Any Update on Custom Field

Hi Aaron Conran

I would like to know there is an update how we can add custom column in the grid. My suggestion is to allow the xtype can be change by putting the xtype property in the object inspector or property config (I dont know if it the right term) which similar to dataIndex. I found out the the combo box option is a great, the developer can choose from the combobox, if the developer want to choose his own custom column.

I hope my suggestion would not affect the View, because I encounter putting { ftype = filter} inside the grid. When I run the application, the filter work well but the Panel turn into white inside the Sencha Architect. For the sake of our designer, I remove the { ftype : filter } temporarily

What I ended up doing was adding an attribute, with an override that would change the xtype later.
( Though actually, the xtype of the column is irrellevant, it's the recreate that mattered )

Code:

Ext.override(Ext.panel.Table, {
initComponent: function(){
// See if we have columns that we need to transform
if (this.columns){
for (var i=0;i<this.columns.length;i++){
var column = this.columns[i];
if (column.checkbox){
column.xtype = 'checkcolumn';
this.columns[i] = Ext.create('Ext.ux.CheckColumn', column);
}
// ... I have a few other attributes that I do similar with
}
}
this.callParent(arguments);
}
});

Thanks for sharing your workaround. In the next minor revision Architect 2.2, you will be able to specify a custom createAlias or createClass. createAlias would map to 'checkcolumn' and createClass would map to 'Ext.ux.CheckColumn'. By the way, you only need to specify one of these.

Ext.override(Ext.panel.Table, {
initComponent: function(){
// See if we have columns that we need to transform
console.log('Panel');
if (this.columns){
for (var i=0;i<this.columns.length;i++){
var column = this.columns[i];
if (column.checkbox){
column.xtype = 'checkcolumn';
this.columns[i] = Ext.create('Ext.ux.CheckColumn', column);
}
// ... I have a few other attributes that I do similar with
}
}
this.callParent(arguments);
}
});

not see checkbox

i copy from ext-4.0.2a/examples/ux/CheckColumn.js to my project and add in Architect JS Resources. This file load fine.. delete properties edit for column and config same as you write.
but not work and console.log not work. may be my panel have not xtype is right?