मैं एक टेक्स्टबॉक्स के साथ सी # में काम कर रहा हूं जो आईडी नंबर द्वारा डेटाबेस (एक्सेस एसक्यूएल) रिकॉर्ड लुकअप के लिए इनपुट के रूप में कार्य करता है। मैं टेक्स्ट बॉक्स पर ऑटोकंपलेट का उपयोग करने में सक्षम होना चाहता हूं लेकिन कुछ सीमाओं के साथ।सी # टेक्स्टबॉक्स स्वत: पूर्ण: ~ 50 सुझावों तक सीमित
बड़ी समस्या यह है कि सिस्टम में आईडी की संख्या हजारों के क्रम में है, इसलिए ऑटोकंपलेट बॉक्स को उन सभी के साथ भरने के बजाय, मुझे टेक्स्टबॉक्स में क्या है इसकी निगरानी करने की आवश्यकता है और केवल स्वतः पूर्ण सुझाव दिखाएं जब ~ 50 या कम विकल्प होते हैं। तालिका से चयन गिनती (*) कहां आईडी की तरह 'textbox.text%'
जब गिनती 50 से कम मैं के परिणामों के साथ स्वत: पूर्ण भरने है:
वर्तमान में, मैं प्रत्येक KeyDown पर इस क्वेरी कर रहा हूँ उपर्युक्त कथन का एक चयन आईडी संस्करण। इससे मुझे कई समस्याएं हुईं, ज्यादातर सी # क्विर्क लगती हैं जिन्हें मैं समझ नहीं पा रहा हूं।
1) जब मैं एक सिंगलडाउन ईवेंट के भीतर ऑटोकंपलेट कस्टमस्टेट को साफ़ या जोड़ता हूं, तो दबाई गई वास्तविक कुंजी स्ट्रिंग में नहीं मिलती है (यानी सामान्य टेक्स्ट बॉक्स इनपुट व्यवहार नहीं होता है)।
2) मैंने ऑटोकंपलेट कस्टॉमसेट अपडेट को एक अलग ईवेंट (कीप्रेस या कीपअप) में अलग करने की कोशिश की लेकिन यह या तो क्रैश हो गया, या स्वत: पूर्ण प्रदर्शन केवल छिपे जाने से पहले संक्षेप में दिखाएगा।
मुझे लगता है कि यह समस्या सामान्य होनी चाहिए और मैं बस इसके बारे में गलत तरीके से जा रहा हूं। क्या कोई सलाह दे सकता है? धन्यवाद!
संपादित करें: इस Windows है फॉर्म्स
EDIT2: एक शीर्ष 50 का चयन समस्या यह है कि उपयोगकर्ता प्रकार (और संभवत: backspaces और पुन: प्रकार) शीर्ष 50 में बदल जाएंगी और समाधान नहीं होता है।
क्या यह WinForms है? WPF? ASP.NET? – LBushkin