Örökölt űrlapmezők

Örökölt űrlapmezők

Aspose.Words FOSS for .NET beolvassa és manipulálja a Word örökölt (tartalomvezérlő előtti) űrlapmezőit — szövegbevitel, jelölőnégyzet és legördülő mezők — a FormField osztály és annak három specializált mező alosztálya segítségével a Aspose.Words.Fields.


Űrlapmezők értékeinek olvasása

Document.Range.FormFields (a FormFieldCollection) közvetlen hozzáférést biztosít minden örökölt űrlapmezőhöz egy tartományon belül anélkül, hogy manuálisan bejárná a csomópontfát. Minden FormField feltárja a Name-t (a mező hivatkozására használt könyvjelző-stílusú azonosító), a Type-t (egy FieldType érték, amely meghatározza, milyen típusú űrlapmezőről van szó), a Result-t (az aktuális érték), a Enabled-t, valamint a súgó/állapotszöveget a HelpText/OwnHelp és a StatusText/OwnStatus segítségével. A SetTextInputValue(newValue) közvetlenül beállít egy új értéket egy szövegbevitel mezőhöz. Indexelj a FormFieldCollection-ba a könyvjelző neve szerint (pl. formFields["BookmarkName"]) egy konkrét mező lekéréséhez, és a Remove(formField) / RemoveAt(index) törli a mezőket a gyűjteményből.


Szöveg, jelölőnégyzet és legördülő mezők típusai

A három örökölt űrlapmező típusnak mindegyiknek van egy dedikált osztálya: FieldFormText (a FORMTEXT mező, amely a FieldType.FieldFormTextInput-nak felel meg) a szabad szövegbevitelhez, FieldFormCheckBox (a FORMCHECKBOX mező) egy logikai kapcsolóhoz, és FieldFormDropDown (a FORMDROPDOWN mező) egy választólistához. Az alapul szolgáló FormField csomóponton a TextInputType (egy TextFormFieldType érték — Regular, Number, Date, CurrentDate, CurrentTime vagy Calculated) és a TextInputFormat szabályozzák, hogyan értelmeződik és formázódik a szövegmező értéke; a MaxLength korlátozza a bemenet hosszát; a TextInputDefault biztosítja az alapértelmezett értéket. A Checked és a Default a jelölőnégyzet mezőkre vonatkoznak, a IsCheckBoxExactSize/CheckBoxSize pedig a megjelenített méretét irányítja. A legördülő mezők a lehetőséglistájukat a DropDownItems-ban tárolják, egy DropDownItemCollection, amely támogatja a Add, Insert, Remove, Contains és IndexOf elemeket, valamint a DropDownSelectedIndex a jelenleg kiválasztott elemhez.


Tippek és bevált gyakorlatok

  • Használja a Document.Range.FormFields a Document.Range.Fields típus szerinti manuális szűrése helyett — ez a közvetlen, típusos belépési pont a régi űrlapmezők számára.
  • Állítsa be a CalculateOnExit értéket, amikor egy űrlapmező értékének a felhasználó elhagyása után azonnal el kell indítania a függő mezők újraszámítását.
  • A FormField.EntryMacro / ExitMacro a eredeti dokumentumban beállított VBA makrónevekre hivatkozik — ezek olvasása nem hajt végre semmilyen makrókódot.
  • Ellenőrizze a TextInputType értéket, mielőtt a szövegmező Result értékét számként vagy dátumként értelmezné — a Regular mezők nem tartalmaznak formátumkorlátozást.

Gyakori problémák

ProblémaOkJavítás
A FormFieldCollection indexelése a könyvjelző neve alapján null értéket ad visszaA űrlapelem könyvjelző neve nem egyezik, vagy az elem nem létezik a keresett tartománybanErősítse meg a pontos könyvjelző nevet a FormField.Name segítségével felsorolás közben
A jelölőnégyzet állapota nem tükröződik a Checked beállítása utánA dokumentum nem lett mentve a módosítás utánA dokumentumot módosítás után mentse; a(z) Checked a következő hozzáféréskor kerül beolvasásra
A(z) DropDownSelectedIndex legördülő érték kívül esik a tartományonAz index nem felel meg egy elemnek a(z) DropDownItemsbanAz indexet ellenőrizze a(z) DropDownItems.Count szerint, mielőtt beállítaná
A szövegmező értéke nem lett alkalmazvaKözvetlen tulajdonság-értékadást használt a(z) SetTextInputValue helyettHívja a(z) SetTextInputValue(newValue) a(z) FormField -on

FAQ

Mi a különbség a FormField és a FieldFormText/FieldFormCheckBox/FieldFormDropDown között?

FormField egy általános csomópont, amely bármely régi űrlapmezőt képvisel, és a Document.Range.FormFields segítségével érhető el. A FieldFormText, FieldFormCheckBox és FieldFormDropDown a mezőspecifikus osztályok (a Field osztályból származva) az egyes típusokhoz, amikor ahelyett a általános Field gyűjteményen keresztül dolgozunk.

Hogyan kapom meg az összes űrlapmező értékét egy dokumentumban?

Sorolja fel a Document.Range.FormFields elemet, és olvassa a Name/Result értékét minden FormField esetén.

Hozzáadhatok opciókat egy legördülő űrlapmezőhöz?

Igen — a FormField.DropDownItems egy DropDownItemCollection, amely Add(value), Insert(index, value) és Remove(name) tartalmaz.

Ugyanazok-e, mint a modern tartalomvezérlők?

Nem. A régi űrlapmezők (FORMTEXT, FORMCHECKBOX, FORMDROPDOWN) a Word strukturált dokumentumcímke (tartalomvezérlő) modellje előtt léteztek; mindkettő megjelenhet ugyanabban a dokumentumban.


API Reference összefoglaló

Osztály / MetódusLeírás
Document.Range.FormFieldsKözvetlen hozzáférés az összes örökölt űrlapmezőhöz egy tartományban
FormFieldÁltalános örökölt űrlapmező csomópont: név, típus, eredmény, engedélyezett állapot
FormFieldCollectionA FormField objektumok gyűjteménye; indexelő könyvjelző név szerint, Remove()
FieldFormTextFORMTEXT mező osztály
FieldFormCheckBoxFORMCHECKBOX mező osztály
FieldFormDropDownFORMDROPDOWN mező osztály
TextFormFieldTypeEnum a szövegmező bemeneti formátumához (Regular, Number, Date, stb.)
DropDownItemCollectionSzerkeszthető lista a legördülő mező opcióiról

Lásd még:

 Magyar