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

由供应商类型 查询 类型名称, 涉及两个表的一对一查询

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}   
    ]]  






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF DataGrid是一种用于显示数据的控件,而DataGrid.Columns则是DataGrid中的列集合。你可以通过设置DataGrid.Columns的Background属性来改变整个列的背景颜色。 在WPF中,你可以使用多种方式来设置DataGrid.Columns的Background属性,包括使用静态资源、绑定属性、使用样式等。以下是一些示例代码: 1. 使用静态资源设置DataGrid.Columns的Background属性: ``` <DataGrid> <DataGrid.Columns> <DataGridTextColumn Header="Column 1" Binding="{Binding Column1}"> <DataGridTextColumn.HeaderStyle> <Style TargetType="DataGridColumnHeader"> <Setter Property="Background" Value="{StaticResource MyBrush}" /> </Style> </DataGridTextColumn.HeaderStyle> </DataGridTextColumn> </DataGrid.Columns> </DataGrid> ``` 2. 使用绑定属性设置DataGrid.Columns的Background属性: ``` <DataGrid> <DataGrid.Columns> <DataGridTextColumn Header="Column 1" Binding="{Binding Column1}"> <DataGridTextColumn.HeaderStyle> <Style TargetType="DataGridColumnHeader"> <Setter Property="Background" Value="{Binding DataContext.Column1HeaderBackground, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" /> </Style> </DataGridTextColumn.HeaderStyle> </DataGridTextColumn> </DataGrid.Columns> </DataGrid> ``` 3. 使用样式设置DataGrid.Columns的Background属性: ``` <DataGrid> <DataGrid.Resources> <Style TargetType="DataGridColumnHeader"> <Setter Property="Background" Value="LightGray" /> </Style> </DataGrid.Resources> <DataGrid.Columns> <DataGridTextColumn Header="Column 1" Binding="{Binding Column1}" /> </DataGrid.Columns> </DataGrid> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值