如何使用oracle jet在ojTable中显示内部对象的值

时间:2017-01-30 07:19:40

标签: javascript html oracle-jet

我需要在ojTable中显示内部pojo字段的值。

这是bakcend代码:

public class Profile implements Serializable {
private String descr;
private Location location;   // I need to show on table -> ojtable
}


public class Location implements Serializable {
private Long id;
private String locationName;
}

和html代码:

<table id="table" summary="Subscriber List"
data-bind="ojComponent: {component: 'ojTable',
emptyText: 'No Data',
data: dataSource,
selectionMode: {row: 'single'},
columnsDefault: {sortable: 'enabled'},
dnd: {reorder: {columns: 'enabled'}},
columns:
[{headerText: 'Description',
field: 'description'},
{ headerText: 'Location Name',
field: 'location.locationName'}  ----->>>>>> This one is not working
],
rootAttributes: {'style':'width: 100%; height:100%;'}}">
</table>

在这种情况下,我有Profile对象,需要到达html端的内部Location对象的locationName字段。 我尝试了dot notaion - &gt; location.locationName但它不起作用。

我也尝试过自定义渲染器/淘汰模板,但是他们都需要为我需要显示的每个字段添加一个新的js功能,我认为这不是通用的。

请帮助我实现这一目标。

提前致谢。

1 个答案:

答案 0 :(得分:2)

据我所知,显示和组织ojTable的最流畅的方法是使用自定义行模板,例如:

<script type="text/html" id="row_tmpl">

    <tr>
        <td data-bind="text: location.locationName">
        </td>
        <td data-bind="text: location.id">
        </td>
    </tr>

</script>

请注意,元素的顺序应符合ojTable列名称的顺序。