2009-11-12 18 views
6

यह बिल्कुल संभव है में डेटास्रोत से पूर्ण DataRow तक पहुँचना है कि घटना के लिए पूरी DataRow तक पहुँचने में? मुझे बाध्यकारी पर पूरी पंक्ति के लिए बहुत सारी प्रोसेसिंग करने की ज़रूरत है, लेकिन डाटरो में डेटा आइटम मानों का उपयोग करके मैं वास्तव में डिस्प्ले में उपयोग नहीं कर रहा हूं।एक ListView ItemDataBound ईवेंट हैंडलर एक ListView ItemDataBound ईवेंट हैंडलर भीतर

उत्तर

4

dr.Item.ItemArray का उपयोग कर आप पूरी पंक्ति का उपयोग कर सकते इस

DataRowView dr = (DataRowView)DataBinder.GetDataItem(e.Item);

की कोशिश करो।

+0

काम करता है वे नेट की जो भी संस्करण उपयोग कर रहे के बाद से इस को बदल दिया है चाहिए। ऐसा कोई प्रतीत नहीं होता है। Item.ItemArray अब और नहीं। आप डॉ। पंक्ति ["कॉलमनाम"] के कॉलम पर प्राप्त कर सकते हैं। –

1

शायद अंतर्निहित डेटा के गुणों का उपयोग करने की ListViewDataItem संपत्ति इस्तेमाल करने की कोशिश करने के लिए जो वस्तु ही है आपत्ति है। ListViewDataItem प्रॉपर्टी केवल नियंत्रण के आइटमडेटाबाउंड घटनाओं के दौरान और उसके बाद उपलब्ध होती है और आमतौर पर आपके डेटा स्रोत ऑब्जेक्ट में रिकॉर्ड के अनुरूप होती है।

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listviewdataitem.aspx

नीचे एक उदाहरण है।

protected void listProducts_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
    ListViewDataItem dataItem = (ListViewDataItem)e.Item; 
    string prodtype = (string)DataBinder.Eval(dataItem, "ProductType"); 
    // ... 
    } 
} 
+0

बंद है, लेकिन जहाँ तक मैं बता सकता है कि केवल मुझे एक डेटा आइटम के लिए उपयोग हो जाता है - आइटम है कि उस विशिष्ट क्षण पर बाध्य किया जा रहा है, और नहीं पूरे डेटा पंक्ति कि ListView की है कि यात्रा में बाध्य किया जा रहा है ItemTemplate। – Moo

+0

क्षमा करें, क्या आपका मतलब किसी दिए गए पंक्ति के लिए केवल एक फ़ील्ड है या क्या आपको किसी अन्य पंक्ति से डेटा संदर्भित करने की आवश्यकता है? – Jakkwylde

+0

मुझे लगता है कि आप Eval (dataItem.DataItem, "ProductType") का मतलब है; फिर इस – clamchoda

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