jquery easyui datagrid显示外键/子属性/二层属性的值的方法

  

数据库中有个学生表学生,我使用SSH2框架,通过名为findForPage的行动将数据库表学生的内容读出,并转为json字符串,输出到页面,然后通过datagrid,将列表显示出来

首先我们有个表格

& lt; div 地区=爸行摹?,边境=癴alse”比;   & lt;才能table  id=皌t”祝辞& lt;/table>   & lt;才能/div>

然后在javascript里

& lt; script  type=" text/javascript祝辞   $(函数(){   $ (" # tt) .datagrid ({   url:,“findForPage”,   标题:“学生基本信息管理”,   时间:frozenColumns  [, [, {   field :“ck”,   checkbox :真实   },),,   singleSelect :,真的,   iconCls :“icon-ok”,   width : 800年,,   height : 300年,,   fit :假的,   时间:pageSize  5,   pageList :,, 5, 10, 15日,20,),   时间:columns  [, [, {   field :“id”,   title :,“学号”,   align :,“中心”   },{   field :,“名字”,   title :,“姓名”,   align :,“中心”   },{   field :,“类”,   title :,“班级”,   align :,“中心”,   格式化程序:功能(价值,行,指数){   return  row.classes.classname;   }   },),,   toolbar :,   ,,{文本:“添加”,,iconCls:“icon-add”,处理程序:函数(){openadd ();}},   ,,“-”,   ,,,,,,{文本:“删除”,,iconCls:“icon-no”,处理程序:函数(){德尔();}},   ,,“-”,   ,,{文本:“修改”,,iconCls:“icon-edit”,处理程序:函数(){openedit ();}}   ],   pagination :真实   });   });   & lt;/script>

主要看这几行

{   field :,“类”,   title :,“班级”,   align :,“中心”,   格式化程序:功能(价值,行,指数){   return  row.classes.classname;   }

这里的格式化程序:功能(价值、行指数)

之所以在这一列用格式化程序,是因为此列(类)是外键列,在持久化类学生中是类对象,我们要取的是此对象中的classname属性的值,也就是说,在这里是二层属性,或者说是子属性。

对于datagrid来说,子属性是不能直接读出的,即,如果你写:“类。名称”,是无效的,这时就需要格式化程序

看后面函数括号里的三个参数:价值——字段值,行——行记录数据,指数——行索引

看函数里面我们用的是返回row.classes.classname;通过这样读出了这个子属性classname

jquery easyui datagrid显示外键/子属性/二层属性的值的方法