如何使用 oracle jet 在 ojTable 中显示内部对象的值
How to show a value from inner object in ojTable with oracle jet
我需要在 ojTable 中显示内部 pojo 字段的值。
这是后台代码:
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 字段。
我尝试了点符号 -> location.locationName 但它不起作用。
我也试过自定义 renderer/knockout 模板,但它们都需要一个新的 js 函数用于我需要显示的每个字段,我认为这不是通用的。
请帮我实现这个。
提前致谢。
据我所知,显示和组织 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 列名称的顺序。
我需要在 ojTable 中显示内部 pojo 字段的值。
这是后台代码:
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 字段。 我尝试了点符号 -> location.locationName 但它不起作用。
我也试过自定义 renderer/knockout 模板,但它们都需要一个新的 js 函数用于我需要显示的每个字段,我认为这不是通用的。
请帮我实现这个。
提前致谢。
据我所知,显示和组织 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 列名称的顺序。