लीगेसी फ़ॉर्म फ़ील्ड्स

लीगेसी फ़ॉर्म फ़ील्ड्स

लीगेसी फ़ॉर्म फ़ील्ड्स

Aspose.Words FOSS for .NET Word के लेगेसी (content-control से पहले) फ़ॉर्म फ़ील्ड्स — टेक्स्ट इनपुट, चेकबॉक्स, और ड्रॉप-डाउन फ़ील्ड्स — को FormField क्लास और Aspose.Words.Fields में इसकी तीन विशिष्ट फ़ील्ड सबक्लासेज़ के माध्यम से पढ़ता और बदलता है।


फ़ॉर्म फ़ील्ड मान पढ़ना

Document.Range.FormFields (एक FormFieldCollection) रेंज में प्रत्येक लेगेसी फ़ॉर्म फ़ील्ड तक सीधे पहुँच प्रदान करता है, बिना नोड ट्री को मैन्युअली चलाए। प्रत्येक FormField Name (फ़ील्ड को संदर्भित करने के लिए उपयोग किया जाने वाला बुकमार्क-शैली पहचानकर्ता), Type (एक FieldType मान जो यह पहचानता है कि यह किस प्रकार का फ़ॉर्म फ़ील्ड है), Result (वर्तमान मान), Enabled, और HelpText/OwnHelp तथा StatusText/OwnStatus के माध्यम से सहायता/स्थिति टेक्स्ट को उजागर करता है। SetTextInputValue(newValue) टेक्स्ट इनपुट फ़ील्ड के लिए नया मान सीधे सेट करता है। FormFieldCollection में बुकमार्क नाम (उदा. formFields["BookmarkName"]) द्वारा इंडेक्स करके विशिष्ट फ़ील्ड प्राप्त किया जा सकता है, और Remove(formField) / RemoveAt(index) संग्रह से फ़ील्ड को हटाते हैं।


टेक्स्ट, चेकबॉक्स, और ड्रॉप-डाउन फ़ील्ड प्रकार

तीन लेगेसी फ़ॉर्म फ़ील्ड प्रकारों के प्रत्येक का एक समर्पित क्लास है: FieldFormText ( FORMTEXT फ़ील्ड, जो FieldType.FieldFormTextInput के अनुरूप है) फ्री-टेक्स्ट इनपुट के लिए, FieldFormCheckBox ( FORMCHECKBOX फ़ील्ड) बूलियन टॉगल के लिए, और FieldFormDropDown ( FORMDROPDOWN फ़ील्ड) चयन सूची के लिए। अंतर्निहित FormField नोड पर, TextInputType (एक TextFormFieldType मान — Regular, Number, Date, CurrentDate, CurrentTime, या Calculated) और TextInputFormat नियंत्रित करते हैं कि टेक्स्ट फ़ील्ड का मान कैसे व्याख्यायित और स्वरूपित किया जाता है; MaxLength इसके इनपुट की लंबाई को सीमित करता है; TextInputDefault इसका डिफ़ॉल्ट मान प्रदान करता है। Checked और Default चेकबॉक्स फ़ील्ड्स पर लागू होते हैं, जहाँ IsCheckBoxExactSize/CheckBoxSize उसके रेंडर आकार को नियंत्रित करते हैं। ड्रॉप-डाउन फ़ील्ड्स अपना विकल्प सूची DropDownItems में रखती हैं, जो DropDownItemCollection है और Add, Insert, Remove, Contains, और IndexOf को समर्थन देती है, साथ ही वर्तमान चयनित आइटम के लिए DropDownSelectedIndex।


टिप्स और सर्वोत्तम प्रथाएँ

  • हाथ से Document.Range.Fields को प्रकार के आधार पर फ़िल्टर करने के बजाय Document.Range.FormFields का उपयोग करें — यह लेगेसी फ़ॉर्म फ़ील्ड्स के लिए सीधे, टाइप्ड एंट्री पॉइंट है।
  • जब फ़ॉर्म फ़ील्ड का मान उपयोगकर्ता द्वारा उसे छोड़ते ही निर्भर फ़ील्ड की पुनः गणना को ट्रिगर करना चाहिए, तो CalculateOnExit सेट करें।
  • FormField.EntryMacro / ExitMacro मूल दस्तावेज़ में कॉन्फ़िगर किए गए VBA मैक्रो नामों का संदर्भ देते हैं — उन्हें पढ़ना किसी भी मैक्रो कोड को निष्पादित नहीं करता।
  • टेक्स्ट फ़ील्ड के Result को संख्या या तिथि के रूप में पार्स करने से पहले TextInputType की जाँच करें — Regular फ़ील्ड्स पर कोई फ़ॉर्मेट प्रतिबंध नहीं लगाया जाता।

सामान्य समस्याएँ

समस्याकारणसमाधान
बुकमार्क नाम द्वारा FormFieldCollection को इंडेक्स करने पर null लौटाता हैफॉर्म फ़ील्ड का बुकमार्क नाम मेल नहीं खाता, या फ़ील्ड खोजी गई सीमा में मौजूद नहीं हैगणना करते समय FormField.Name के माध्यम से सटीक बुकमार्क नाम की पुष्टि करें
Checked सेट करने के बाद चेकबॉक्स की स्थिति प्रतिबिंबित नहीं होतीसंशोधन के बाद दस्तावेज़ सहेजा नहीं गयासंशोधन के बाद दस्तावेज़ को सहेजें; Checked अगली पहुँच पर पढ़ा जाता है
ड्रॉप-डाउन DropDownSelectedIndex सीमा से बाहर हैसूचकांक DropDownItems में किसी आइटम से मेल नहीं खातासेट करने से पहले DropDownItems.Count के विरुद्ध इंडेक्स को मान्य करें
टेक्स्ट फ़ील्ड मान लागू नहीं हुआSetTextInputValue के बजाय सीधे प्रॉपर्टी असाइनमेंट का उपयोग किया गयाFormField पर SetTextInputValue(newValue) को कॉल करें

FAQ

FormField और FieldFormText/FieldFormCheckBox/FieldFormDropDown में क्या अंतर है?

FormField कोई भी लेगेसी फ़ॉर्म फ़ील्ड का प्रतिनिधित्व करने वाला सामान्य नोड है, जिसे Document.Range.FormFields के माध्यम से पहुँचा जाता है। FieldFormText, FieldFormCheckBox, और FieldFormDropDown प्रत्येक फ़ील्ड प्रकार के लिए फ़ील्ड-विशिष्ट क्लासेज़ हैं (जो Field से व्युत्पन्न हैं) जब सामान्य Field संग्रह के माध्यम से काम किया जाता है।

मैं किसी दस्तावेज़ में सभी फ़ॉर्म फ़ील्ड मान कैसे प्राप्त करूँ?

प्रत्येक FormField पर Document.Range.FormFields को गिनें और Name/Result पढ़ें।

क्या मैं ड्रॉप-डाउन फ़ॉर्म फ़ील्ड में विकल्प जोड़ सकता हूँ?

हां — FormField.DropDownItems एक DropDownItemCollection है जिसमें Add(value), Insert(index, value), और Remove(name) शामिल हैं।

क्या ये आधुनिक कंटेंट कंट्रोल्स के समान हैं?

नहीं। लेगेसी फ़ॉर्म फ़ील्ड्स (FORMTEXT, FORMCHECKBOX, FORMDROPDOWN) Word के स्ट्रक्चरड डॉक्यूमेंट टैग (कंटेंट कंट्रोल) मॉडल से पहले के हैं; दोनों एक ही दस्तावेज़ में मौजूद हो सकते हैं।


API Reference सारांश

क्लास / मेथडविवरण
Document.Range.FormFieldsरेंज में सभी लेगेसी फ़ॉर्म फ़ील्ड्स तक सीधा एक्सेस
FormFieldसामान्य लेगेसी फ़ॉर्म फ़ील्ड नोड: name, type, result, enabled state
FormFieldCollectionFormField वस्तुओं का संग्रह; बुकमार्क नाम द्वारा सूचकांक, Remove()
FieldFormTextFORMTEXT फ़ील्ड क्लास
FieldFormCheckBoxFORMCHECKBOX फ़ील्ड क्लास
FieldFormDropDownFORMDROPDOWN फ़ील्ड क्लास
TextFormFieldTypeपाठ फ़ील्ड इनपुट फ़ॉर्मेट के लिए Enum (Regular, Number, Date, आदि)
DropDownItemCollectionड्रॉप-डाउन फ़ील्ड के विकल्पों की संपादन योग्य सूची

यह भी देखें

 हिन्दी