Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dgrid格式化程序基于另一列中的值创建列_Javascript_Dojo_Dgrid_Dojo.gridx - Fatal编程技术网

Javascript Dgrid格式化程序基于另一列中的值创建列

Javascript Dgrid格式化程序基于另一列中的值创建列,javascript,dojo,dgrid,dojo.gridx,Javascript,Dojo,Dgrid,Dojo.gridx,我正在基于一个数据源创建一个dgrid,该数据源有一个地址和两列布尔值,用于标识记录中的地址类型,即邮政地址或业务地址 我想在另一个基于两个布尔列的列地址类型中显示布尔值的描述性名称。我正在尝试使用dgrid格式化程序函数,但无法获得所需的结果。下面是我的代码: Javascript 我意识到dgrid有一个get函数,可以用来访问数据源属性。所以不需要格式化程序,而是使用了格式化程序。下面是我的解决方案: Javascript 我意识到dgrid有一个get函数,可以用来访问数据源属性。所以不

我正在基于一个数据源创建一个dgrid,该数据源有一个地址和两列布尔值,用于标识记录中的地址类型,即邮政地址或业务地址

我想在另一个基于两个布尔列的列地址类型中显示布尔值的描述性名称。我正在尝试使用dgrid格式化程序函数,但无法获得所需的结果。下面是我的代码:

Javascript


我意识到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';
           }
        }
    }