मेरे पास एक कस्टम TDatasetProvider है जो जो भी डेटा प्रदान करता है, उसे नए फ़ील्ड बनाने की अनुमति देता है।किसी डेटासेट संरचना से डेटा (TDatasetProvider में) को स्थानांतरित करने का तेज़ तरीका
तो, मान लीजिए कि आप मूल डाटासेट पर folowing क्षेत्रों मिल गया है:
- ग्राहक आईडी
- नाम
- उम्र
और तुम DBGrid एक दिखा प्रयोग पर यह चयन करने की आवश्यकता बिटमैप। खैर, आप तब से कर सकते हैं जब से मेरा डीएसपी डेटासेट डेटा में Selected
नामक एक बूलियन फ़ील्ड जोड़ सकता है।
तरह से मैं अब ऐसा:
- 2 TClientDataset वस्तुओं (उत्पत्ति और लक्ष्य)
- उत्पत्ति में बनाएं, मैं लोड डेटा InternalGetRecords विधि के मापदंडों (मैं इसे overrode) से मिला
- लक्ष्य में, मैं fielddefs उत्पत्ति डाटासेट से परिभाषित बना सकते हैं और डेवलपर
- द्वारा डिजाइन समय में बनाई गई fielddefs जोड़ने लक्ष्य
- पर एक CreateDataset निष्पादित और, पंक्ति-दर-पंक्ति (एक डी फ़ील्ड-बाय-फ़ील्ड), मैं मूल डेटाबेस से डेटा को लक्ष्य डेटासेट
- पर कॉपी करता हूं, अंत में, डेटा वैरिएंट को InternalGetRecords से वापसी मान के रूप में वापस कर दें।
मुझे वास्तव में पता नहीं है कि ऐसा करने के लिए एक और अधिक सुरुचिपूर्ण (और तेज़) तरीका है या नहीं। उस परिणाम को पाने के लिए एक और (तेज और/या सुरुचिपूर्ण) तरीका है?
क्या आप बस उस डेटा के बिना मूल डेटासेट पर आंतरिकcalc बूलियन फ़ील्ड नहीं बना सकते हैं? – vavan
इस घटक को बनाने के बाद, जीवन आसान हो गया क्योंकि मैं डेटा फ़ील्ड बना सकता हूं जो सीडीएस डेटा फ़ील्ड के रूप में पहचानते हैं .. –
लेकिन आप बहुत अनावश्यक काम कर रहे हैं। और उन डेटा फ़ील्ड बनाने का क्या मतलब है? – vavan