Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

xfa.host.exportData() with dynamic interactive table ignores new rows

Avatar

Level 4

Hi,

I have a repeating subform with fields. I fill the form by

xfa.host.importData();

which works perfectly.

I add rows, move rows up and down. All that works.

But:

When I export the data with

xfa.host.exportData("", 0);

then the new rows are not in the output xml.

I also tried

console.println(xfa.datasets.data.saveXML("pretty"));

and there are also only the old rows.

Now I am pretty stunned. How come that the activities of

instanceManager.addInstance(true);

are not mirrored in xfa.data???

How can I get my new rows into my output xml?

3 Replies

Avatar

Level 7

I had a similar issue with a customer I helped recently. His form was connecting to an Access DB. What I found was that when I added the new instance and performed the insert into the DB it did not seem to work. I found that I had to have the DB closed and had to reopen it to see the change. I am not sure if it works the same way with Excel. I also found that I had to have all fields filled out. For example my form/DB had FirstName, LastName, City, State, Zipcode. I had to have data in all fields. This could have been the way the DB Was set up in that it did not allow for a null value. One last thing I did was instead do using exportData I used a SQL insert

Avatar

Level 4

I tried to isolate the problem and wrote a litte form consting only of the table and the buttons.

There I can export new rows.

One difference to the original form is: In the little form I do not use a XSL to transform the input data.

I also removed the XML file from the preview in the original form: same problem, new rows not exported.

I will try a few things with an XSL for the output data. Maybe that will give a clue.

Avatar

Level 4

Managing data from a DB is a completly different ballbark. With a DB you cannot fill your table directly. You rather have to query your data and then loop over the results inserting them row by row. Am I right?

So unfortunately your hint would lead to a different direction. My data source is XML.

(Excel I have never tried. From what I hear you'd have to find a Microsoft-ODBC-driver for Excel. Sounds to me that the rest would be the same as with a DB.)

I just finished some experiments with input-XSL and output-XSL. Apparently that has no effect.

The new relative position of the rows is exported. That is: if I move a row up than that will show up in the export XML.

But if a add a row at the end this row will not be exported.