Mezők létrehozása a FieldBuilderrel

Mezők létrehozása a FieldBuilderrel

Mezők létrehozása a FieldBuilder segítségével

Ez az útmutató bemutatja, hogyan lehet egy Word mezőt a semmiből felépíteni a Aspose.Words FOSS-ban a .NET számára, használva FieldBuilder and FieldArgumentBuilder, ahelyett, hogy egy már meglévő mezővel dolgozna egy dokumentumban. A meglévő mezők olvasásához, frissítéséhez vagy eltávolításához lásd a Mezőkkel való munka útmutató.


Mező létrehozása a FieldBuilder használatával

FieldBuilder mezőt épít fel mezőkód-tokenekből — argumentumok és kapcsolók. Készíts egyet a new FieldBuilder(fieldType) segítségével, megadva a felépíteni kívánt mező FieldType értékét. Argumentumokat adj hozzá a túlterhelt AddArgument(argument) metódussal, amely egy string, int, double, egy beágyazott FieldBuilder vagy egy FieldArgumentBuilder típust fogad el. Kapcsolókat adj hozzá a túlterhelt AddSwitch(switchName), AddSwitch(switchName, switchArgument) (string), vagy AddSwitch(switchName, switchArgument) (int/double) metódusokkal.


A felépített mező beszúrása

Miután a(z) FieldBuilder megkapta az argumentumait és kapcsolóit, hívd a(z) BuildAndInsert(refNode) függvényt a dokumentumba való beszúrásához — az egyik túlterhelés egy Inline csomópontot fogad el, és a mezőt előtte helyezi el, a másik egy Paragraph-t fogad, és a mezőt a bekezdés végére szúrja be.


Összetett argumentumok összeállítása a FieldArgumentBuilder segítségével

FieldArgumentBuilder összetett mezőargumentumot épít fel, amely mezőkből, csomópontokból és egyszerű szövegből áll, olyan esetekben, amikor egyetlen argumentumnak több mint egy egyszerű karakterláncra van szüksége. Készíts egyet a new FieldArgumentBuilder() segítségével, majd hívd a AddText(text)-t egyszerű szöveg hozzáadásához, a AddNode(node)-t egy Inline csomópont hozzáadásához, vagy a AddField(fieldBuilder)-t egy másik mező (a saját FieldBuilder-jával építve) beágyazásához az argumentumba. Add át a elkészült FieldArgumentBuilder-t a FieldBuilder.AddArgument(argument)-nek, hogy a külső mező egyik argumentumaként használhasd.


Tippek és bevált gyakorlatok

  • FieldBuilder használata akkor javasolt, amikor olyan mezőtípust építesz, amelyet nem támogat egyik dedikált mezőosztály (például FieldDate vagy FieldSymbol), vagy amikor a mezőkódokat programozottan generálod adatokból, a kézi szerkesztés helyett.
  • Ágyazz be egy gyermekmezőt egy külső mező argumentumába a FieldBuilder.AddArgument(FieldBuilder) segítségével egyszerű esetben, vagy építs vegyes argumentumot szövegből, csomópontokból és beágyazott mezőkből a FieldArgumentBuilder használatával, ha az argumentum több, mint egyetlen mező.
  • Válaszd ki a megfelelő BuildAndInsert(refNode) túlterhelést, amely megfelel annak a helynek, ahová a mezőt el szeretnéd helyezni — egy adott Inline csomópont előtt, vagy egy Paragraph végén.
  • A BuildAndInsert után kezeld az eredményt a fa bármely más mezőjeként — például hívd a Update()-t rajta, ha a mezőtípus kifejezett újraszámítást igényel.

Gyakori problémák

ProblémaOkaJavítás
BuildAndInsert a rossz helyet célozza megA kívánt beszúrási ponthoz a rossz overload lett használvaAdj át egy Inline csomópontot a beszúráshoz előtte, vagy egy Paragraph elemet a végére
A mezőargumentum nem fogadja el egyszerre a tiszta szöveget és egy csomópontotAddArgument egyetlen string/int/double paraméterrel lett meghívva, a komponált argumentum helyettÉpítsd fel a vegyes argumentumot a FieldArgumentBuilder segítségével (AddText, AddNode, AddField), és add át a AddArgument számára
A kapcsoló értékét a felépített mezőkódban nem ismeri felAddSwitch(switchName) lett használva, pedig a kapcsolónak valójában argumentumra van szükségeHasználd a AddSwitch(switchName, switchArgument) overload-et a kapcsoló string, int vagy double értékével

FAQ

Mikor kellene a FieldBuilder használni a már előre elkészített mezőkód beszúrása helyett?

Használd a FieldBuilder-t, amikor programozott módon kell explicit módon irányítanod a mező argumentumait és kapcsolóit, ahelyett, hogy egy előre elkészített mezőkód karakterláncot szúrnál be.

Hogyan adhatok hozzá egynél több argumentumot egy mezőhöz?

Hívd meg a AddArgument-t argumentumonként egyszer— túlterhelt a string, int, double, egy beágyazott FieldBuilder, valamint a FieldArgumentBuilder esetében.

Építhetek olyan mezőt, amelynek argumentuma szöveg és egy másik mező keverékét tartalmaz?

Igen— használd a FieldArgumentBuilder-t, szükség szerint meghívva a AddText, AddNode és AddField elemeket, majd add át a FieldBuilder.AddArgument-nek.

Hogyan helyezhetem el ténylegesen az épített mezőt a dokumentumban?

Hívd meg a BuildAndInsert(refNode)-t, átadva egy Inline csomópontot (amely elé szúrásra kerül) vagy egy Paragraph-t (amelynek végére szúrásra kerül).


API Reference Összefoglaló

Osztály/MódszerLeírás
FieldBuilderMezőt épít fel a mezőkód tokenekből (argumentumok és kapcsolók)
FieldBuilder(fieldType)Konstruktor, amely a FieldType paramétert veszi az építéshez
FieldBuilder.AddArgument(argument)Argumentumot ad hozzá (string, int, double, FieldBuilder vagy FieldArgumentBuilder)
FieldBuilder.AddSwitch(switchName) / AddSwitch(switchName, switchArgument)Mezőkapcsolót ad hozzá, értékkel vagy érték nélkül
FieldBuilder.BuildAndInsert(refNode)Beszúrja a felépített mezőt egy Inline csomópont előtt, vagy egy Paragraph végére.
FieldArgumentBuilderÖsszeállít egy összetett mezőargumentumot szövegből, csomópontokból és beágyazott mezőkből.
FieldArgumentBuilder.AddText(text)Egyszerű szöveget ad hozzá az argumentumhoz.
FieldArgumentBuilder.AddNode(node)Hozzáad egy Inline csomópontot az argumentumhoz.
FieldArgumentBuilder.AddField(fieldBuilder)Beágyaz egy mezőt, amelyet a FieldBuilder épített, az argumentumba

Lásd még:

 Magyar