extjs - ComboBox only shows displayField when clicked -


मेरे पास एक EditorGridPanel है जो मैं एक Ext.Window के माध्यम से दिखाता हूं।

resources जेएसन-डेटा है जो मुझे एक अजाक्स-कॉल के माध्यम से मिलता है।

उदाहरण डेटा: {"डेटा": [{"id": "1", "allowed": "1" , "रोल आईआईडी": "0", "संसाधन": "कुछ भी नहीं"}}}

समस्या यह है कि कॉम्बो बॉक्स का डिस्प्ले फिक्स केवल तब दिखाया जाता है जब मैं कॉम्बो बॉक्स पर क्लिक करता हूं। जब क्लिक किया जाता है, तो मुझे विकल्प मिलते हैं: "अनुमति", "अनुमति नहीं है" जब मैं फ़ोकस को हटाता हूं, तो मान मिलते हैं: "1", "0"।

मैं डिस्प्लेफील्ड-वैल्यू कैसे दिखा सकता हूँ जब मैंने क्लिक नहीं किया है?

  showRoleDetails : फ़ंक्शन (संसाधन, भूमिका आईडी) {var भूमिकाएं डेटा = संसाधन; Var store = new Ext.data.JsonStore ({url: '/ plugin / registration / admin / get-acl-of-role-of-role', baseParams: {role: roleId}, storeId: 'mystore', रूट: 'डेटा ', फ़ील्ड: [{नाम:' अनुमति '}, {name:' resource '}]}); store.load (); Var ग्रिड = नया Ext.grid.EditorGridPanel ({title: "संसाधनों के लिए संपादन / दृश्य अनुमतियां", स्टोर: स्टोर, ऑटोहाइट: सही, कॉलम: [{हेडर: 'अनुमति', डेटाइंडएक्स: 'अनुमति', संपादक: नया एक्सटेंशन .form.ComboBox ({triggerAction: 'all', फ्रेम: सच, आलसीरेन्डर: सही, संपादन योग्य: गलत, मोड: 'स्थानीय', मान: 'अनुमति', स्टोर: नया Ext.data.JsonStore ({fields: [' स्वीकृत ',' अनुमति दी गई ', डेटा: [अनुमति:' 1 ', अनुमत लेबल:' अनुमत '}, {अनुमत:' 0 ', अनुमत लेबल:' अनुमति नहीं है '}]}}), मानफिल्ड:' अनुमति ', displayField : 'अनुमति लैबेल'})}, {हेडर: 'संसाधन', डेटाइंडएक्स: 'संसाधन'}]}); Var विंडो = नया Ext.Window ({आइटम: ग्रिड}); window.show (); }  संपादित करें:  नरेंद्र कम्मा का जवाब, मैंने अपने कोड को इस तरह संपादित किया है:  
  var comboBox = new Ext.form कॉम्बो बॉक्स ({// कॉमबॉक्स मानों को ट्रिगर एक्शन: 'सब', फ़्रेम: सच्चे, आलसीरेन्डर: सही, संपादन योग्य: मोड, 'स्थानीय', मान: 'अनुमत', स्टोर: नया Ext.data.JsonStore ({Fields: ['अनुमति', 'अनुमति दी गई लेबल'], डेटा: [अनुमति: '1', अनुमत लेबल: 'अनुमत'}, {अनुमत: '0', अनुमत लेबल: 'अनुमति नहीं है'}]}), मूल्यफील्ड : 'अनुमत', displayField: 'अनुमत लैबेल'}); Var मुझे = यह; Var ग्रिड = नया Ext.grid.EditorGridPanel ({शीर्षक: "संसाधनों के लिए संपादन / दृश्य अनुमतियां", स्टोर: स्टोर, ऑटोःइटइट: सही, कॉलम: [{हेडर: 'अनुमत', डेटाइंडएक्स: 'अनुमति', संपादक: कॉम्बो बॉक्स, रेंडरर: me.comboBoxRenderer (comboBox)}, {हेडर: 'संसाधन', डेटाइंडएक्स: 'संसाधन'}]});   

यह शानदार ढंग से काम करता है।

आपको प्रदर्शन मान देना चाहिए स्वयं। ग्रिड कॉलम स्पेस में रेंडरर विकल्प की तलाश करें

  1. रेंडरर को कॉन्फ़िगर करें
  2. यह चयनित मान, और संबंधित स्टोर रिकॉर्ड की आपूर्ति करेगा
  3. आप अपने तर्क पर प्रदर्शन मान का आधार वापस कर सकते हैं (किसी भी मूल्य को स्वीकार करता है )

Comments