I want hide a column of a listgrid if a record column value doesn't meet a condition.
Columns: A, B, C
If C record value is not "1" for at least one of the last records loaded, I want hide the C column using this.hideField("C"). If at least one, I create a button in this column for the one with "1" value.
Currently I have:
I am surprised to see that there is no methods to allow to hide the column after the listGrid load like onLoadComplete or fetchComplete.
I would have something like:
Do you confirm I can not do that with smartclient?
Thanks.
Columns: A, B, C
If C record value is not "1" for at least one of the last records loaded, I want hide the C column using this.hideField("C"). If at least one, I create a button in this column for the one with "1" value.
Currently I have:
Code:
...
fields: [
{name:"A"},
{name:"B"},
{name:"C",
formatCellValue:function (value) { return '';}
},
createRecordComponent : function (record, colNum){
var cField = this.getFieldName("colNum");
if(cField == "C"){
var cFieldValue = record["cField"];
if(cFieldValue=="1"){
var button=isc.IButton.create({...});
}else{
return null;
}
}else{
return null;
}
}
I would have something like:
Code:
...
var hideCColumn = true;
this.myListGrid = isc.ListGrid.create({
...
fields: [
{name:"A"},
{name:"B"},
{name:"C",
formatCellValue:function (value) { return '';}
},
createRecordComponent : function (record, colNum){
var cField = this.getFieldName("colNum");
if(cField == "C"){
var cFieldValue = record["cField"];
if(cFieldValue=="1"){
hideCColumn = false;
var button=isc.IButton.create({...});
}else{
return null;
}
}else{
return null;
}
},
fetchComplete: function(){ //does not exist in isomorphic
if(hideCColumn){
this.hideField("C");
}
}
Do you confirm I can not do that with smartclient?
Thanks.