Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
How to Retrieve Liferay Form Entries Values
			While it is possible to use "/ddm.ddmforminstancerecord/get-form-instance-records" public API (jsonws) to retrieve form entries data, there is no public API for retrieving its field values.However, there is available "getDDMFormInstances" method, which can be used to accomplish that in plain regular java.
Here's a quick example on how to use it:
import com.liferay.dynamic.data.mapping.service.DDMFormInstanceLocalServiceUtil;
import com.liferay.dynamic.data.mapping.model.DDMFormInstance;
import com.liferay.dynamic.data.mapping.model.DDMFormInstanceRecord;
import com.liferay.dynamic.data.mapping.storage.DDMFormValues;
import com.liferay.dynamic.data.mapping.storage.DDMFormFieldValue;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.dynamic.data.mapping.model.Value;
List<DDMFormInstance> ddmFmInstanceList = DDMFormInstanceLocalServiceUtil.getDDMFormInstances(-1, -1);
for(DDMFormInstance ddmFmInstance : ddmFmInstanceList) {
List<DDMFormInstanceRecord> reclist = ddmFmInstance.getFormInstanceRecords();
for(DDMFormInstanceRecord rec : reclist) {
DDMFormValues fmvals;
try {
fmvals = rec.getDDMFormValues();
List<DDMFormFieldValue> formFieldVals = fmvals.getDDMFormFieldValues();
for (DDMFormFieldValue fmval : formFieldVals) {
Value val = fmval.getValue();
String data = val.getString(Locale.ROOT);
String name = fmval.getName();
out.println(" My DDM Form Values Details : "+name+" => "+data); } }
catch (PortalException e) { e.printStackTrace(); } } }
Executing this script from "Control Panel > Server Administration > Script" will list all the form's field values.
Disclaimer: Please note that this is a sample of how to extend your portlet and should only be used as a reference.
		Here's a quick example on how to use it:
import com.liferay.dynamic.data.mapping.service.DDMFormInstanceLocalServiceUtil;
import com.liferay.dynamic.data.mapping.model.DDMFormInstance;
import com.liferay.dynamic.data.mapping.model.DDMFormInstanceRecord;
import com.liferay.dynamic.data.mapping.storage.DDMFormValues;
import com.liferay.dynamic.data.mapping.storage.DDMFormFieldValue;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.dynamic.data.mapping.model.Value;
List<DDMFormInstance> ddmFmInstanceList = DDMFormInstanceLocalServiceUtil.getDDMFormInstances(-1, -1);
for(DDMFormInstance ddmFmInstance : ddmFmInstanceList) {
List<DDMFormInstanceRecord> reclist = ddmFmInstance.getFormInstanceRecords();
for(DDMFormInstanceRecord rec : reclist) {
DDMFormValues fmvals;
try {
fmvals = rec.getDDMFormValues();
List<DDMFormFieldValue> formFieldVals = fmvals.getDDMFormFieldValues();
for (DDMFormFieldValue fmval : formFieldVals) {
Value val = fmval.getValue();
String data = val.getString(Locale.ROOT);
String name = fmval.getName();
out.println(" My DDM Form Values Details : "+name+" => "+data); } }
catch (PortalException e) { e.printStackTrace(); } } }
Executing this script from "Control Panel > Server Administration > Script" will list all the form's field values.
Disclaimer: Please note that this is a sample of how to extend your portlet and should only be used as a reference.