Hi,
I need some help in the following scenario:
I would like to get the grid column filled with comma separated list of validFrom dates for each person like on this picture:

Person.xml data looks like:
I am using the following test code:
Although I am using multiple=true attribute of certificate_validFromField and the proper xpath="certificate/Certificate/validFrom", I got only one first date displayed:

But if I uncomment the line:
then I got dates as comma separated list as desired.
For sure this is not the right way to go, as it brakes other things - I am not able to get comma separated list of dates any other way.
What am I missing here?
Thanks,
MichalG
I need some help in the following scenario:
I would like to get the grid column filled with comma separated list of validFrom dates for each person like on this picture:
Person.xml data looks like:
Code:
<response>
<data>
<Person>
<id>351</id>
<code>michalg</code>
<certificate>
<Certificate>
<id>535</id>
<certificateType>
<id>521</id>
<code>pisanie na klawiaturze</code>
</certificateType>
<validFrom>2017-05-19</validFrom>
<issuedBy>komisja nadzoru biurowcow</issuedBy>
<documentNo>abcd321</documentNo>
</Certificate>
<Certificate>
<id>34383</id>
<certificateType>
<id>521</id>
<code>pisanie na klawiaturze</code>
</certificateType>
<validFrom>2017-05-20</validFrom>
<issuedBy>komisja nadzoru programistow</issuedBy>
<documentNo>qwerty123_pl</documentNo>
</Certificate>
<Certificate>
<id>533</id>
<certificateType>
<id>521</id>
<code>pisanie na klawiaturze</code>
</certificateType>
<validFrom>2017-05-21</validFrom>
<issuedBy>komisja nadzoru programistow</issuedBy>
<documentNo>qwerty123</documentNo>
</Certificate>
<Certificate>
<id>34382</id>
<certificateType>
<id>521</id>
<code>pisanie na klawiaturze</code>
</certificateType>
<issuedBy>komisja nadzoru programistow</issuedBy>
<documentNo>qwerty123_en</documentNo>
</Certificate>
</certificate>
</Person>
</data>
<requestedDataSource>Person</requestedDataSource>
<status>STATUS_SUCCESS</status>
</response>
Code:
package pl.com.tech4.client;
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.data.DataSource;
import com.smartgwt.client.data.DataSourceField;
import com.smartgwt.client.data.OperationBinding;
import com.smartgwt.client.data.fields.DataSourceTextField;
import com.smartgwt.client.types.AutoFitWidthApproach;
import com.smartgwt.client.types.DSDataFormat;
import com.smartgwt.client.types.DSOperationType;
import com.smartgwt.client.types.DSProtocol;
import com.smartgwt.client.widgets.grid.ListGrid;
public class MainEntryPoint implements EntryPoint {
@Override
public void onModuleLoad() {
layout();
}
private void layout() {
DataSource personDS = new DataSource();
personDS.setID("Person");
OperationBinding fetchBinding = new OperationBinding();
fetchBinding.setOperationType(DSOperationType.FETCH);
fetchBinding.setDataFormat(DSDataFormat.XML);
fetchBinding.setDataProtocol(DSProtocol.POSTXML);
personDS.setOperationBindings(fetchBinding);
personDS.setDataURL("Person.xml");
DataSourceField idField = new DataSourceField();
idField.setName("id");
idField.setPrimaryKey(true);
idField.setHidden(true);
DataSourceTextField codeField = new DataSourceTextField();
codeField.setName("code");
DataSourceField certificate_validFromField = new DataSourceField();
certificate_validFromField.setName("certificate_validFrom");
certificate_validFromField.setValueXPath("certificate/Certificate/validFrom");
certificate_validFromField.setMultiple(true);
//can not get comma separated list of dates without the following line:
//certificate_validFromField.setTypeAsDataSource(new DataSource());
personDS.setFields(idField, codeField, certificate_validFromField);
ListGrid lg = new ListGrid();
lg.setDataSource(personDS);
lg.setAutoFetchData(true);
lg.setAutoFitFieldWidths(true);
lg.setAutoFitWidthApproach(AutoFitWidthApproach.BOTH);
lg.setWidth(300);
lg.draw();
}
}
But if I uncomment the line:
Code:
certificate_validFromField.setTypeAsDataSource(new DataSource());
For sure this is not the right way to go, as it brakes other things - I am not able to get comma separated list of dates any other way.
What am I missing here?
Thanks,
MichalG