数据库中有个学生表学生,我使用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