SetXFAFormFieldValueA

表單欄位

描述

結尾的 A 表示 ANSI(char)DLL 進入點;ActiveX/COM 介面只提供 Unicode 形式。行為與 SetXFAFormFieldValue 完全相同,字串參數依目前 SetAnsiMode 的字碼頁解讀

設定指定 XFA 表單欄位的值。欄位名稱可以是相對資料路徑,或以 $data、xfa.datasets.data、$record 開頭的標準資料 SOM 路徑。在非 record 處理的封包中,$record 從 $data 之下的外層資料記錄元素開始更新路徑。資料 DOM 類別選擇器 #dataGroup 與 #dataValue 依類別更新群組或純量資料節點,可搭配數字或萬用字元的出現選擇器。FormCalc 風格的簡單述詞選擇器,例如 $data.Receipt.Detail.[Total_Price <= 200].Description,依子純量值更新相符的兄弟資料節點。datasets 封包含有 xfa:data 或無字首的 data 元素時,即可接受完整 XDP 封包。資料節點以本地 XML 名稱匹配,業務資料元素因此可用自己的命名空間字首。datasets 值 API 也接受 SOM 的 parent 屬性,先從選定資料節點爬到其容器再更新兄弟節點,例如 $data.Receipt.Detail[0].parent.Tax。後代選擇器如 $data..Total_Price 更新目前 datasets 範圍下第一個相符的資料節點。子項萬用字元選擇器如 $data.Receipt.*.Total_Price 則更新每個直接子分支下相符的資料節點。

語法

Delphi

Function DLSetXFAFormFieldValueA(InstanceID: Integer; XFAFieldName, NewValue: PAnsiChar): Integer;

DLL

int DLSetXFAFormFieldValueA(int InstanceID, const char * XFAFieldName, const char * NewValue);

參數

XFAFieldName要操作的 XFA datasets 欄位名稱;接受相對欄位路徑與 $data...、xfa.datasets.data...、!data...、$record... 等 SOM 根,根前後可用點或斜線分隔;斜線路徑保留字面句點,點分隔 SOM 路徑接受跳脫句點(如 Line\.Item);重複資料節點用 [*] 路徑選取(如 $data.Receipt.Detail[*].Total_Price);parent 可先爬到選定節點的父節點再接續路徑;類別選擇器如 #dataGroup、#dataValue 定址 Data DOM 群組與純量值;簡單述詞選擇器如 .[Total_Price <= 200] 依子純量值過濾兄弟資料節點;後代選擇器如 $data..Total_Price 在目前 datasets 範圍之下搜尋;子項萬用字元選擇器如 $data.Receipt.*.Total_Price 在每個直接子分支之下搜尋
NewValueXFA 欄位的新值;XFAFieldName 含 [*](子項萬用字元選擇器)或述詞選擇器時,同一值會寫入每個相符的資料節點