I\'m using LibreOffice 4.1.3.2 to produce a fillable PDF:
When creating a form using Open Office, Open Office sets a flag telling iText not to create appearances. If you look at the FillDataSheet example, you'll see that we override this with the following line:
fields.setGenerateAppearances(true);
In your specific C# snippet, that would be:
f.GenerateAppearances = true;
It's important to set this value before setting the fields or the appearances won't be created.