我希望在属性网格中显示持久字段(在我的模型文件中定义的那些)。
属性网格:
有没有更好的方法,让所有非关联字段(在我的情况下不包括
编辑:
查找类名的方法:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.Base-static-method-getName
![enter image description here](https://istack.dev59.com/L2ku7.webp)
Ext.define('ATCOM.view.InspectorProperties', {
extend : 'Ext.grid.property.Grid',
alias : 'widget.inspectorProperties',
cls : 'property-grid',
height : 150,
listeners : {
beforerender : function() {
// Rename the first column
var cols = this.getView().getHeaderCt().getGridColumns();
cols[0].setText("Property");
},
beforeedit : function(e) {
// Read-only
return false;
}
},
source : {} // Start with no items
});
我在选择事件中(在控制器中)这样载入条目,其中record是我们的模型对象,getInfo()是属性网格:
var source = {};
source.id = record.get('id');
source.start = record.get('start');
source.end = record.get('end');
this.getInfo().setSource(source);
模型:
Ext.define('ATCOM.model.Shift', {
extend : 'Ext.data.Model',
fields : [ 'id', {
name : 'start',
type : 'date',
}, {
name : 'end',
type : 'date',
}, 'position', 'controller' ],
hasMany : {
model : 'ATCOM.model.ShiftAlloc',
name : 'allocations'
}
});
有没有更好的方法,让所有非关联字段(在我的情况下不包括
allocations
)自动发送到属性网格?可能也可以使用ATCOM.model.Shift.getFields()
读取字段,并迭代检查persistent:false;
以保留其余键,但是我如何从实例中获取类引用 - 也就是说,如何从ATCOM.model.Shift
的一个实例中获取它的类,以便我可以调用getFields()?编辑:
查找类名的方法:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.Base-static-method-getName