2012-01-04 14 views
7

pageLoad ईवेंट पर मैं दो अलग-अलग शेयरपॉइंट सूचियों पर जाना चाहता हूं और एक सूची से पहली सूची इटिम और दूसरी सूची में अंतिम सूची प्राप्त करना चाहता हूं। मुझे किसी भी सूची आईडी आईडी की जानकारी नहीं है, इसलिए मुझे लगता है कि सूची सूची के माध्यम से इसे करने की ज़रूरत है - बस यह सुनिश्चित न करें कि इसे कैसे कार्यान्वित किया जाए। सूची में एक संभाल पाने के बाद कोई ऊपर बताए गए परिदृश्य के लिए पहली और आखिरी वस्तुओं को प्राप्त करने का सबसे अच्छा तरीका (सी # का उपयोग करके) सलाह दे सकता है?शेयरपॉइंट सूची में पहला और अंतिम सूची प्राप्त करें

उत्तर

14

"पहली वस्तु" और "अंतिम वस्तु" स्थिति बहुत स्पष्ट नहीं है। मान लें कि आप पहले और नवीनतम को आइटम पुनर्प्राप्त करना चाहते हैं। ध्यान देने योग्य यह है कि की अनुक्रमणिका के माध्यम से आइटम पुनर्प्राप्त करना बड़ी सूचियों के लिए धीमा हो सकता है क्योंकि SPList.Items सूची के सभी आइटम लौटाता है।

SPList list = // some list; 
SPQuery query = new SPQuery(); 
query.RowLimit = 1; 
query.Query = "<OrderBy><FieldRef Name='ID' /></OrderBy>"; 

return list.GetItems(query).Cast<SPListItem>().FirstOrDefault(); 

"पिछले आइटम" के लिए आप आदेश को उल्टा करने के लिए है:

<OrderBy><FieldRef Name='ID' Ascending='FALSE' /></OrderBy> 

आप पिछले और पहले आइटम एक और के आधार पर प्राप्त करना चाहते हैं यही कारण है कि मैं एक CAML क्वेरी उपयोग करने का सुझाव है हालत आपको बस क्षेत्र द्वारा ऑर्डर बदलना है।

अद्यतन:
और भी बेहतर ID क्षेत्र से ऑर्डर करने के लिए किया जाएगा। इसके साथ आप एक ही परिणाम प्राप्त कर सकते हैं। न केवल बेहतर, बनाए गए फ़ील्ड को कोड के माध्यम से बदल दिया जा सकता है जैसा कि @ कोबी द्वारा इंगित किया गया है।

+1

बहुत अच्छा। मैं आईडी का उपयोग करने की भी सिफारिश करता हूं, "बनाई गई" तिथि कोड द्वारा सेट की जा सकती है। साथ ही, यदि सूचियां छोटी हैं, तो मुझे यकीन नहीं है कि मैं क्वेरी से परेशान हूं। – Kobi

+0

@ कोबी, यह सच है। मैं अपना उदाहरण आईडी में बदल दूंगा ... thx। – Stefan

2

आप इस कोशिश कर सकते हैं पिछले Itemid

SPWeb web = SPContext.Current.Web; 
      SPList List = web.Lists[ListName]; 

      int itemId = List.Items[List.ItemCount - 1].ID; 

सादर पाने के लिए!

+1

अगर हमने दो आइटम हटा दिए हैं तो यह काम नहीं करेगा – TinTin

+0

यह मेरे लिए बहुत अच्छा काम करता है। मुझे एक क्रमबद्ध SPListCollection पर कुछ संचालन करने की आवश्यकता थी, और इससे पहले कि मैंने उन सभी पर कदम उठाए, मुझे अंतिम आइटम से एक मूल्य की आवश्यकता थी। इसने मुझे अतिरिक्त सीएएमएल क्वेरी लिखने के बिना ऐसा करने की अनुमति दी। धन्यवाद! – Chronozoa

+0

हटाए गए आइटम आईडी के बारे में कैसे ?? –

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