Javascript Dgrid格式化程序基于另一列中的值创建列
我正在基于一个数据源创建一个dgrid,该数据源有一个地址和两列布尔值,用于标识记录中的地址类型,即邮政地址或业务地址 我想在另一个基于两个布尔列的列地址类型中显示布尔值的描述性名称。我正在尝试使用dgrid格式化程序函数,但无法获得所需的结果。下面是我的代码: JavascriptJavascript Dgrid格式化程序基于另一列中的值创建列,javascript,dojo,dgrid,dojo.gridx,Javascript,Dojo,Dgrid,Dojo.gridx,我正在基于一个数据源创建一个dgrid,该数据源有一个地址和两列布尔值,用于标识记录中的地址类型,即邮政地址或业务地址 我想在另一个基于两个布尔列的列地址类型中显示布尔值的描述性名称。我正在尝试使用dgrid格式化程序函数,但无法获得所需的结果。下面是我的代码: Javascript 我意识到dgrid有一个get函数,可以用来访问数据源属性。所以不需要格式化程序,而是使用了格式化程序。下面是我的解决方案: Javascript 我意识到dgrid有一个get函数,可以用来访问数据源属性。所以不
我意识到dgrid有一个get函数,可以用来访问数据源属性。所以不需要格式化程序,而是使用了格式化程序。下面是我的解决方案: Javascript
我意识到dgrid有一个get函数,可以用来访问数据源属性。所以不需要格式化程序,而是使用了格式化程序。下面是我的解决方案: Javascript
function getAddressType(){
$.each(employeeAddressData, function(key, value){
if(key == "postalAddress"){
if(value == true || value == 'true'){
console.log('returning postal');
return 'Postal';
}
}else{
console.log('returning business');
return 'Business';
}
});
}
var Employer = [{id: 1, businessName:'John Doe and Sons Limited',phone:'123456',address:'123 Long Street', postalAddress:true, businessAddress:false},
{id: 1, businessName:'Alice and Bob Limited',phone:'78956', address:'56 Short Street', postalAddress:false, businessAddress:true}];
var employerGrid = new CustomGrid({
store: employerStore,
columns:{
id:{
label:"Id",
field:"id",
hidden:true
},
businessName:{
label:"Business",
field:"businessName",
},
phone:{
label:"Contact No.",
field:"phone",
},
address:{
label:"Address",
field:"address",
},
addressType:{
label:"Address Type",
formatter:getAddressType();
}
},
selectionMode:"none",
loadingMessage: "Loading data...",
noDataMessage: "No results found....",
allowSelectAll: true
}, "employerGrid");
},
addressType:{
label:"Address Type",
get: function(object){
if(object.postalAddress == true){
return 'Postal';
}else{
return 'Business';
}
}
}