Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

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

ulibaehr
Level 4
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
mouslander
Level 7
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

ulibaehr
Level 4
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.

ulibaehr
Level 4
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.