Store は、JSON としてサーバーから応答を取得します。場合によっては、フィールド card_number が空です。私の仕事は、フィールド card_number が空のときに列を非表示にすることです。これで、この列に空の値が表示されます。サーバーの応答を含む任意のコード部分を変更できます。
モデル:
Ext.define('Guard.model.Report', {
extend : 'Ext.data.Model',
fields : [ 'first_name', 'last_name', 'card_number'] });
意見:
Ext.define('Guard.view.report.Export', {
extend: 'Ext.grid.Panel',
alias : 'widget.exportreport',
uses: [
'Ext.ux.exporter.Exporter'
],
initComponent: function() {
this.store = 'ReportCreate';
this.dockedItems = [{
xtype: 'toolbar',
dock: 'top',
items: [ {
xtype: 'button',
text : _msg_btn_load_reports_csv,
id : 'loadcsv',
iconCls : 'loadcsvIcon'
}]
}];
this.columns = [ {
text : _msg_tbl_head_fname,
align: 'center',
dataIndex : 'first_name',
flex : 1,
renderer: function(value) {
if(!value) {
return _msg_grid_default_unknown;
}
return value;
}
},{
text : _msg_tbl_head_lname,
align: 'center',
dataIndex : 'last_name',
flex : 1,
renderer: function(value) {
if(!value) {
return _msg_grid_default_unknown;
}
return value;
}
},{
text : _msg_tbl_head_card_number,
align: 'center',
dataIndex : 'card_number',
flex : 1
}];
this.callParent(arguments);
}});
店:
Ext.define('Guard.store.ReportCreate', {
extend: 'Ext.data.Store',
model: 'Guard.model.Report',
proxy: {
type: 'ajax',
url: 'php/reports.php',
reader: {
type: 'json',
root: 'reportCreate',
successProperty: 'success'
}
}
});