Магазин получает ответ от сервера как JSON. В некоторых случаях поле card_number пуст. Моя задача - скрыть столбец, когда поле card_number пуст. Теперь этот столбец показывает и показывает пустые значения. Я могу изменить любую часть кода, включая ответ сервера.Столбцы просмотра зависят от ответа сервера extjs 4
Модель:
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'
}
}
});
Вы хотите, чтобы скрыть его, если все строки не имеют значения там? – bldoron
@bldoron Есть два случая: во первых, все строки имеют значение, во вторых, все строки не имеют значения. –