您的位置:首页 > 其它

datagrid的columns属性支持对象的子属性(类似user.userName)的方法

2017-01-13 02:17 387 查看
由供应商类型 查询 类型名称, 涉及两个表的一对一查询

SupplierType .java  供应商类型Supplier .java  供应商
public class SupplierType {
private Integer supTypeId;

        private String supTypeName;    

        private Supplier supplier;

        Get ... Set ...

}
public class Supplier {

    private Integer supId; //编号

    private String supName;//供应商名称

    private String supLinkman;//联系人

    private String supPhone;//电话

    private String supAddress;//地址

    private String supRemark;//备注    

    private double supPay ;   //期初应付

    private String supType ;//类型    

    private SupplierType supplierType; 

        Get ... Set ...

}
Mapper配置文件

SupplierMapper.xml

<mapper namespace="ndd.ssm1.dao.SupplierMapper" >

  <resultMap id="supplierMap" type="ndd.ssm1.entity.Supplier" >

    <id column="sup_id" property="supId" jdbcType="INTEGER" />

    <result column="sup_name" property="supName" jdbcType="VARCHAR" />

    <result column="sup_linkman" property="supLinkman" jdbcType="VARCHAR" />

    <result column="sup_phone" property="supPhone" jdbcType="VARCHAR" />

    <result column="sup_address" property="supAddress" jdbcType="VARCHAR" />

    <result column="sup_remark" property="supRemark" jdbcType="VARCHAR" />

    <result column="sup_pay" property="supPay" jdbcType="VARCHAR" />

    <result column="sup_type" property="supType" jdbcType="VARCHAR" />

    <collection  property="supplierType" resultMap="ndd.ssm1.dao.SupplierTypeMapper.supTypetMap"/>

  </resultMap>

</mapper>

SupplierTypeMapper.xml

<mapper namespace="ndd.ssm1.dao.SupplierTypeMapper" >

  <resultMap id="supTypetMap" type="ndd.ssm1.entity.SupplierType" >

    <id column="sup_type_id" property="supTypeId" jdbcType="INTEGER" />

    <result column="sup_type_Name" property="supTypeName" jdbcType="VARCHAR" />

  </resultMap>

</mapper>

list.jsp dataGrid

   columns:[[ 
    {checkbox:true},  
       {field:'supId',title:'供应商编号',width:100},    
       {field:'supName',title:'供应商姓名',width:100},    
       {field:'supLinkman',title:'联系人价格',width:100},    
       {field:'supPhone',title:'电话',width:100},    
       {field:'supAddress',title:'地址',width:100},    
       {field:'supRemark',title:'备注',width:100},    
       {field:'supPay',title:'期初应付',width:100},    
       {field:'supplierType',
           formatter : function(value,row,index){
               if (row.supplierType){
                   return row.supplierType.supTypeName;
               } else {
                   return value;
            }},       

       title:'供应商类型',width:100}   
   ]]  

说明: 我的后台传给前台datagrid的数据有total和rows,它们的格式如下:



即rows里面的每个对象都有supId、supplierType、supName等属性,而属性supplierType本是一个对象,里面有supTypeId、supTypename这几个属性。现在需要把supplierType里面的supTypename给显示出来,因为直接在field中这样写 
fileld:"field:supplierType.supTypename',这样在前台是显示出不来这一列的,因为fileld的格式不支持点操作符的用法。所以应该用easyui的api中的datagrid自带的一个格式化函数formatter(),formatter的具体说明请查阅api

        {field:'supplierType',
            formatter : function(value,row,index){
                if (row.supplierType){
                    return row.supplierType.supTypeName;
                } else {
                    return value;
             }},        

        title:'供应商类型',width:100}   
    ]]  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐