ईवेंट हैंडलर बनाना

किसी Microsoft Office InfoPath प्रपत्र टेम्पलेट के लिए स्क्रिप्ट लिखते समय, आप सामान्यत: कोड किसी प्रपत्र टेम्पलेट या डेटा मान्यता ईवेंट हैंडलर्स में लिखते हैं. कोई ईवेंट हैंडलर किसी InfoPath प्रपत्र टेम्पलेट में फ़ंक्शन कोड है जो किसी उपयोगकर्ता की कार्रवाई या परिवर्तन का प्रतिसाद किसी प्रपत्र में XML डेटा के रूप में देता है. किसी ईवेंट हैंडलर का बनना आपके द्वारा उपयोग किए जाने वाले ईवेंट के प्रकार पर निर्भर करता है. ईवेंट हैंडलर का डिज़ाइन मोड में बनना महत्वपूर्ण है क्योंकि InfoPath ईवेंट हैंडलर्स की घोषणाएँ अपने आप स्क्रिप्ट फ़ाइल में बनाता है और प्रविष्टियाँ प्रपत्र परिभाषा फ़ाइलमें बनाता है जो किसी प्रपत्र टेम्पलेट को उन ईवेंट हैंडलर्स का उपयोग करने में सक्षम बनाते हैं.

नोट: यद्यपि ईवेट हैंडलर्स को स्क्रिप्ट फ़ाइल में मैन्युअली बनाना और तब .xsf में उचित तत्वो को मैन्युअली जोड़कर उन्हें सक्षम करना संभव है, तब भी इसकी अनुशंसा नहीं की जाती है. यदि .xsf फ़ाइल में कोई अमान्य परिवर्तन किया जाता है, तो हो सकता है कि प्रपत्र टेम्पलेट उपयोगी न रहे.

निम्न तालिका प्रत्येक ईवेंट हैंडलर और उनको बनाने के चरणों को सूचीबद्ध करती है. किसी प्रपत्र टेम्पलेट के लिए कोई ईवेंट हैंडलर बनाते समय, InfoPath Microsoft Script Editor प्रारंभ करता है और उस ईवेंट हैंडलर के लिए कर्सर कोड में रखता है. तब आप ईवेंट हैंडलर के लिए स्क्रिप्ट लिख सकते हैं. InfoPath ईवेंट्स और ईवेंट हैंडलर्स के बारे में विस्तृत जानकारी के लिए, InfoPath Developer's Reference देखें, MSE मदद में उपलब्ध है.

इवेंट हैंडलर

वर्णन

बनाने के चरण

बदलने के बाद पर

किसी फ़ील्ड में बाउंड निर्दिष्ट नियंत्रण में उपयोगकर्ता द्वारा मान बदलने के बाद यह इवेंट चलाया जाता है. उदाहरण के लिए, आप उपयोगकर्ता द्वारा सूची बॉक्स नियंत्रण में किसी आइटम का चयन करने के बाद कोई कस्टम HTML कार्यफलक प्रदर्शित कर सकते हैं. यह इवेंट मान्य करें पर इवेंट के बाद चलाया जाता है.

प्रपत्र टेम्पलेट पर कोई नियंत्रण या डेटा स्रोत कार्यफलक में कोई फ़ील्ड राइट-क्लिक करें, शॉर्टकट मेनू पर प्रोग्रामिंग को इंगित करें, और तब बदलने के बाद ईवेंट पर क्लिक करें.

आयात के बाद पर

उपयोगकर्ता द्वारा कई प्रपत्रों को सफलतापूर्वक एक प्रपत्र में मर्ज करने के बाद यह इवेंट चलाया जाता है.

MSE का उपयोग करके सीधे स्क्रिप्ट फ़ाइल में आयात के बाद पर इवेंट हैंडलर घोषणा को मैन्युअली जोड़ें. इस इवेंट हैंडलर को डिज़ाइन मोड में नहीं बनाया जा सकता.

बदलने के पहले

उपयोगकर्ता द्वारा नियंत्रण में मान बदलने के बाद और उस नियंत्रण में बाउंड निर्दिष्ट फ़ील्ड में मान जोड़ने के पहले यह इवेंट चलाया जाता है. उदाहरण के लिए, आप दोहराई जाने वाली तालिका में अंतिम पंक्ति भरने से पहले उपयोगकर्ता को कोई अतिरिक्त पंक्ति जोड़ने से रोक सकते हैं.

प्रपत्र टेम्पलेट पर नियंत्रण या डेटा स्रोत कार्यफलक में फ़ील्ड को राइट-क्लिक करें, शॉर्टकट मेनू पर प्रोग्रामिंग को इंगित करें, और तब बदलने के पहले ईवेंट पर क्लिक करें.

क्लिक पर

उपयोगकर्ता द्वारा इस इवेंट से संबद्ध बटन क्लिक करने पर यह इवेंट चलाया जाता है. प्रपत्र टेम्पलेट में बटन जोड़ने के बाद यह इवेंट उपलब्ध होता है. उदाहरण के लिए, उपयोगकर्ता द्वारा बटन क्लिक करने पर, मुख्य डेटा स्रोत में फ़ील्ड में मानों का उपयोग करके आप कोई जटिल परिकलन कर सकते हैं.

बटन नियंत्रण डबल-क्लिक करें, और तब बटन गुण संवाद बॉक्स के सामान्य टैब पर, प्रपत्र कोड संपादित करें क्लिक करें.

प्रसंग बदलने पर

प्रपत्र में फ़ोकस के बदलने पर यह इवेंट चलाया जाता है. उदाहरण के लिए, उपयोगकर्ता द्वारा पाठ बॉक्स से दिनांक पिकर में नेविगेट करने पर या उपयोगकर्ता द्वारा दृश्यों में स्विच करने पर यह इवेंट चलाया जाता है. अन्य सभी इवेंट्‍स हो जाने के बाद यह इवेंट होता है.

उपकरण मेनू पर, प्रोग्रामिंग को इंगित करें, और तब प्रसंग बदलने ईवेंट पर क्लिक करें.

लोड पर

जब उपयोगकर्ता आपके प्रपत्र टेम्पलेट पर आधारित नया प्रपत्र बनाता या कोई मौजूदा प्रपत्र खोलता है, तो यह इवेंट चलाया जता है. उदाहरण के लिए, उपयोगकर्ता द्वारा प्रपत्र खोलने पर आप आइटम्स की सूची की द्वितीयक डेटा स्रोत से मुख्य डेटा स्रोत में प्रतिलिपि बना सकते हैं.

उपकरण मेनू पर, प्रोग्रामिंग को इंगित करें, और तब लोड पर इवेंट क्लिक करें.

मर्ज अनुरोध पर

आपके प्रपत्र टेम्पलेट पर आधारित प्रपत्रों को मर्ज करने पर यह इवेंट चलाया जाता है. उदाहरण के लिए, आप मर्ज की कार्रवाई के दौरान उपयोगकर्ता स्थिति देने के लिए मर्ज किए गए प्रपत्रों की संख्या प्रदर्शित कर सकते हैं.

उपकरण मेनू पर, प्रपत्र विकल्प क्लिक करें. श्रेणी सूची में, उन्नत क्लिक करें. मर्ज प्रपत्र के तहत, कस्टम कोड उपयोग करके मर्ज करें चेक बॉक्स का चयन करें, और तब संपादित करें क्लिक करें.

सहेजें अनुरोध पर

उपयोगकर्ता द्वारा आपके प्रपत्र टेम्पलेट पर आधारित प्रपत्र सहेजने पर यह इवेंट चलाया जाता है. उदाहरण के लिए, आप उपयोगकर्ता द्वारा प्रपत्र सहेजे जाने पर एक से अधिक स्थानों पर इस प्रपत्र टेम्पलेट पर आधारित प्रपत्र सहेज सकते हैं. InfoPath इस इवेंट में कोड की दो अति‍रिक्त पंक्तियाँ जोड़ता है: एक प्रपत्र को सहेजने वाली पंक्ति और दूसरी वह पंक्ति, जो बताती है कि InfoPath ने सफलतापूर्वक प्रपत्र सहेजा.

उपकरण मेनू पर, प्रपत्र विकल्प क्लिक करें. श्रेणी सूची में, खोलें और सहेजें क्लिक करें. सहेजने का व्यवहार के तहत, कस्टम कोड का उपयोग करके सहेजें चेक बॉक्स का चयन करें, और तब संपादित करें क्लिक करें.

साइन पर

उपयोगकर्ता द्वारा किसी प्रपत्र पर डिजिटल लागू करने पर यह इवेंट चलाया जाता है. उदाहरण के लिए, आप किसी व्यय रिपोर्ट प्रपत्र को उपयोगकर्ता द्वारा हस्ताक्षरित करने पर उसके डिजिटल हस्ताक्षर में अतिरिक्त डेटा जोड़ सकते हैं.

उपकरण मेनू पर, प्रोग्रामिंग को इंगित करें, और तब साइन ईवेंट पर क्लिक करें.

सबमिट अनुरोध पर

उपयोगकर्ता द्वारा अपना प्रपत्र डेटा सबमिट करने पर यह इवेंट चलाया जाता है. उदाहरण के लिए, उपयोगकर्ता द्वारा फ़ाइल मेनू पर सबमिट क्लिक करने पर आप प्रपत्र डेटा को किसी सुरक्षित वेब सेवा में सबमिट कर सकते हैं. चूँकि InfoPath किसी सुरक्षित वेब सेवा पर डेटा कनेक्शन का समर्थन नहीं करता, इसलिए आपको अपनी सुरक्षित वेब सेवा के साथ कार्य करने वाला कस्टम डेटा कनेक्शन जोड़ना आवश्यक है.

उपकरण मेनू पर, सबमिट विकल्प क्लिक करें. उपयोगकर्ताओं को यह प्रपत्र सबमिट करने की अनुमति दें चेक बॉक्स का चयन करें, कोड का उपयोग कर कस्टम क्रिया करें क्लिक करें, और तब कोड संपादित करें क्लिक करें.

दृश्य स्विच पर

उपयोगकर्ता द्वारा आपके प्रपत्र टेम्पलेट पर आधारित प्रपत्र खोलने पर या प्रपत्र में दूसरे दृश्य में जाने पर यह इवेंट चलाया जाता है. उदाहरण के लिए, जब उपयोगकर्ता किसी विशेष दृश्य में जाता है, तो आप वह ई-मेल संदेश बना सकते हैं, जिसमें प्रपत्र के मुख्य डेटा स्रोत के फ़ील्ड का डेटा हो.

उपकरण मेनू पर, प्रोग्रामिंग क्लिक करें, और तब दृश्य स्विच करने ईवेंट पर क्लिक करें.

मान्यता पर

उपयोगकर्ता द्वारा फ़ील्ड में बाउंड नियंत्रण में मान बदलने पर यह इवेंट चलाया जाता है. उदाहरण के लिए, उपयोगकर्ता द्वारा किसी निर्दिष्ट नियंत्रण में मान बदलने पर, आप उपयोगकर्ता द्वारा दर्ज की गई संख्या और स्क्रिप्ट वाली संख्या का उपयोग करके दूसरे नियंत्रण के लिए नया मान परिकलित कर सकते हैं. यह इवेंट परिवर्तन से पहले पर इवेंट हैंडलर चलाए जाने के बाद आता है.

प्रपत्र टेम्पलेट पर या डेटा स्रोत कार्यफलक में फ़ील्ड पर किसी नियंत्रण को राइट-क्लिक करें, शॉर्टकट मेनू पर प्रोग्रामिंग को इंगित करें, और तब On After Validate Event क्लिक करें.

संस्‍करण के नवीनीकरण पर

यह इवेंट तब चलाया जाता है, जब उपयोगकर्ता कोई मौजूदा प्रपत्र खोलता है और मौजूदा प्रपत्र द्वारा उपयोग किए गए प्रपत्र टेम्पलेट का संस्करण क्रमांक प्रकाशन स्थान के प्रपत्र टेम्पलेट के संस्करण क्रमांक से पुराना है. उपयोगकर्ता द्वारा मौजूदा प्रपत्र खोलने पर, InfoPath मौजूदा प्रपत्र से संबंद्ध प्रपत्र टेम्पलेट के संस्करण क्रमांक की जाँच करता है. यदि प्रपत्र टेम्पलेट का नया संस्करण क्रमांक है, तो उपयोगकर्ता द्वारा मौजूदा प्रपत्र खोलने पर, InfoPath संस्करण पर इवेंट हैंडलर चलाता है. उदाहरण के लिए, कल्पना करें कि आप मौजूदा प्रपत्र टेम्पलेट में कोई नया फ़ील्ड जोड़ते और उसे प्रकाशित करते हैं और आप चाहते हैं कि यदि उपयोगकर्ता मौजूदा प्रपत्र खोलता है, तो मुख्य डेटा स्रोत में नया फ़ील्ड जोड़ा जाए. यह इवेंट उपयोगकर्ता द्वारा मौजूदा प्रपत्र खोलने पर मुख्य डेटा स्रोत में नया फ़ील्ड जोड़ता है.

उपकरण मेनू पर, प्रपत्र विकल्प क्लिक करें. श्रेणी सूची में, संस्करण क्लिक करें. संस्करण नवीनीकरण पर सूची में, कस्टम इवेंट का उपयोग करें क्लिक करें, और तब संपादित करें क्लिक करें.

अपने कौशल का विस्तार करें
प्रशिक्षण का अन्वेषण करें
पहले नई सुविधाएँ प्राप्त करें
Office प्रतिभागी में शामिल हों

क्या यह जानकारी मददगार थी?

आपकी प्रतिक्रिया के लिए आपको धन्यवाद!

आपकी प्रतिक्रिया के लिए धन्यवाद! ऐसा लगता है आपको हमारे किसी Office सहायता एजेंट से कनेक्ट करना मददगार हो सकता है.

×