I have Table field as Templates.
For this Table field I have form data created with anotation
@FormData(value = AbstractMyTableData.class, sdkCommand = FormData.SdkCommand.USE, defaultSubtypeSdkCommand = FormData.DefaultSubtypeSdkCommand.CREATE)
public abstract class MyTableField extends AbstractTableField<MyTableField.Table>
Inside MyTableField.Table I have n
column and all of them is presented in form data for this field, so I can add rows like :
int rowNum = formData.addRow();
formData.setColumn_1(rowNumber, value);
....
formData.setColumn_n(rowNumber, value);
Now I want to extend my table so instead of :
public class Table extends AbstractExtensibleTable {
I now have
public class Table extends AbstractTreeTable {
AbstractTreeTable is template from this link.
It has two new columns inside. My problem is that inside AbstractMyTableData there is still only n
columns and not those two. So when I create new row by addRow
I can't set those two values to the row.
Pleas help.
Additional
I did't see that AbstractTableFieldBeanData
is not just random class name like AbstractMyTableFieldData
, but create different kind of form data.
Now I have bean based table data.
But my problem remain. Even in new bean based data, there is just columns from myTable and not from treeTable.
My hierarchy is like @Jmini described.
AbstractTable
| (no columns defined as inner class)
|
\---AbstractTreeTable
| (2 columns defined as inner class: ParentKeyColumn and KeyColumn)
|
\---MyTableField.Table
(additional columns defined as inner class)
This MyTableField.Table
is inside MyTableField
witch is template.
So my code looks like this :
@FormData(sdkCommand = FormData.SdkCommand.CREATE, value = AbstractTableFieldBeanData.class, defaultSubtypeSdkCommand = FormData.DefaultSubtypeSdkCommand.CREATE)
public abstract class MyTableField extends
AbstractTableField<MyTableField.Table> {
....
@Order(10.0)
public class Table extends AbstractTreeTable {
in AbstractTreeTable
I don't have any annotation like @Jmini suggest.
I add rows like :
MyTableFieldRowData row = formData.addRow();
row.setColumn1(value);
but inside MyTableFieldRowData
there is no additional rows from AbstractTreeTable
Have I miss something ?