मेरे पास मेरे डेटाबेस में एक बाइनरी फ़ील्ड है जो एक "आईई XXXX" का उपयोग कर यूआई में वर्णन करना मुश्किल है - टाइपबॉक्स टाइप करें। मैं बल्कि रेडियो बटनों की एक जोड़ी का उपयोग करूंगा (उदाहरण के लिए "डू इट द फू वे" और "डू इट द बार वे"), लेकिन अभी मेरे फॉर्म पर मौजूद सभी अन्य फ़ील्ड एक व्यापार ऑब्जेक्ट से डेटा-बाध्य हैं। मैं रेडियो ऑब्जेक्ट्स की जोड़ी को बिजनेस ऑब्जेक्ट में भी जोड़ना चाहता हूं, लेकिन अभी तक ऐसा करने के लिए एक अच्छा तरीका नहीं आया है। मैं फ़ील्ड में बटनों में से एक को बाध्य कर सकता हूं, जैसे बटन को "सत्य" सेट किया गया है, यदि बटन चुना गया है, लेकिन दूसरे बटन का चयन करते समय पहले का चयन रद्द करें (यानी, दो रेडियो बटन ठीक से जोड़े गए हैं), फ़ील्ड का मान इसे प्रतिबिंबित करने के लिए अद्यतन नहीं होता है।मैं विंडोज फॉर्म रेडियो बटन के साथ डाटाबेसिंग का उपयोग कैसे करूं?
मैं चाहता कहना
button1.DataBindings.Add(new Binding("checked", source, "useFoo"));
button2.DataBindings.Add(new Binding("checked", source, "!useFoo"));
सक्षम होने के लिए, लेकिन मैं बहुत यकीन है कि फेंक होगा जब इसे चलाता हूँ। क्या कोई आसान तरीका है, या क्या मुझे सिर्फ एक ही चेकबॉक्स शब्द को कैसे सोचना चाहिए? मैं इस छोटे से कुछ को संभालने के लिए अतिरिक्त कार्यों को जोड़ना नहीं चाहता ...
ईटीए: एक टिप्पणीकर्ता ने ड्रॉपडाउन (कॉम्बोबॉक्स) पर विचार करने का सुझाव दिया है। मैंने इसके बारे में सोचा था, लेकिन मैं किसी व्यापार ऑब्जेक्ट में डेटाबेस/प्रॉपर्टी में बुलियन फ़ील्ड को डेटा-बाइंड कैसे करूं? अगर मैं चयनित इटैम को उपयोग करने के लिए बाध्य करता हूं, तो संपत्ति संग्रह में क्या होगा? क्या मुझे बस "ट्रू" और "झूठा" जोड़ना होगा, या क्या मैं किसी भी तरह से एक कुंजी/वैल्यू जोड़ी ऑब्जेक्ट जोड़ सकता हूं जो इसके पीछे बूलियन मान पर प्रदर्शित आइटम ("फू का उपयोग करें"/"फू न करें फू") से जुड़ता है? मुझे इस पर दस्तावेज़ खोजने में परेशानी हो रही है।
जवाब के बारे में: समाधान मैं शामिल व्यवसाय वस्तु को संशोधित करने का उपयोग कर बंद कर - मूल विचार बहुत एक Gurge द्वारा पोस्ट की गई के समान है, लेकिन मैं इसे अलग से के साथ आया था इससे पहले कि मैं उसकी प्रतिक्रिया पढ़ें। संक्षेप में, मैंने एक अलग संपत्ति जोड़ा जो बस !useFoo
लौटाता है। एक रेडियो बटन source.UseFoo
तक बाध्य है, और दूसरा source.UseBar
(नई संपत्ति का नाम) से जुड़ा हुआ है। यह सुनिश्चित करना महत्वपूर्ण है कि नई संपत्ति में गेटर्स और सेटर्स दोनों हों, या आप वास्तव में अजीब व्यवहार के साथ हवादार हो जाएंगे।
और हर बार जब आप अपना डेटासेट संपादित करते हैं तो यह परिवर्तन फिर से न भूलें! :-( – Mac