2008-09-29 18 views
5

के साथ ऑब्जेक्टडेटा स्रोत अद्यतन विधि मेरे पास यह डेटाटेबल है जिसमें अनुक्रम संख्या को छोड़कर कॉलम का एक अलग सेट है।डायनामिक पैरामीटर

| अनुक्रम | मूल्य | कर | ड्यूटी | कुल |

अद्वितीय स्तंभ नामों के साथ किसी भी स्तंभ को स्वीकार किया जाना चाहिए।

उस तालिका को प्रदर्शित करने के लिए, मुझे एक चयन विधि के साथ एक प्रस्तुति वर्ग में मैप किए गए ऑब्जेक्टडेटा स्रोत का उपयोग करने की आवश्यकता है।

class Presenter { 
    [DataObjectMethod(DataObjectMethodType.Select)] 
    public DataView GetDutyAndTax() { ... } 
} 

ObjectDataSource तो सही पर सेट किया AutoGenerateColumns साथ एक GridView के लिए बाध्य है। अनुक्रम डेटा कुंजी है।

अब तक, यह तालिका का चयन करने के लिए काम करता है। समस्या तब आती है जब मुझे टेबल को अपडेट करने की आवश्यकता होती है। ऑब्जेक्टडेटा स्रोत मुझे तालिका में कॉलम के साथ सटीक समान पैरामीटर के साथ एक अद्यतन विधि रखने के लिए परेशान करता रहता है।

public void EditDutyAndTax(string Value, string Tax, string Duty, string original_Sequence) { ... } 

लेकिन मैं इस तरह की कोई विधि नहीं बना सकता क्योंकि मुझे आवश्यक कॉलम के सेट को नहीं पता है।

मैंने परिवर्तनीय पैरामीटर सूची के साथ एक विधि का उपयोग करने की कोशिश की लेकिन यह इसका उपयोग नहीं करना चाहता।

public void EditDutyAndTax(params object[] values) { ... } 

विचार मैं अब है पर प्रस्तुतकर्ता में इस तरह अद्यतन तरीकों का एक सेट बनाने के लिए है:

public void EditDutyAndTax(string value1, string original_Sequence) { ... } 
public void EditDutyAndTax(string value1, string value2, string original_Sequence) { ... } 
public void EditDutyAndTax(string value1, string value2, string value3, string original_Sequence) { ... } 
//an so on... 

लेकिन मैं न तो लगता है कि करने वाले कोड की समीक्षा के माध्यम से और न ही विचार की तरह मिलता है।

मेरे पास दूसरा विचार एक गतिशील विधि बनाना है और प्रस्तुतकर्ता वर्ग या जहां भी रनटाइम पर (यदि संभव हो) संलग्न है, लेकिन मुझे सच में यकीन नहीं है कि यह काम करेगा या नहीं।

तो यदि आपके पास कोई समाधान है, तो कृपया मदद करें। बहुत बहुत धन्यवाद!

कार्लोस

उत्तर

3

यह मेरे लिए लग रहा है आप ObjectDataSource कथात्मक मॉडल का उपयोग कर स्क्रैप, और पोस्टबैक में मैन्युअल रूप से ग्रिड बाध्यकारी डेटा स्रोत & के "पुराने स्कूल" सेटिंग पर जाने के लिए करने जा रहे हैं की तरह (या भार, जैसा भी मामला हो सकता है), और उसके बाद मैन्युअल रूप से संपादन/अद्यतन को संभालना।

डेटासोर्स ऑब्जेक्ट्स बहुत विशेष रूप से आप उनका उपयोग कैसे करते हैं इसके बारे में विशेष रूप से हैं - और यदि आप लाइनों के बाहर जाने का प्रयास करते हैं, तो अच्छी तरह से काम नहीं करते हैं।

संबंधित मुद्दे