मैं सीएएमएल के माध्यम से शेयरपॉइंट से एक सूची खींचने का प्रयास कर रहा हूं और मैं चाहता हूं कि सूची किसी विशिष्ट फ़ील्ड द्वारा आदेशित हो। क्षेत्र एक लुकअप फ़ील्ड है। जब मैं ऑर्डरबी को लुकअप फ़ील्ड के रूप में सेट करता हूं, तो क्वेरी वापस अनियंत्रित होती है, अगर मैं टेक्स्ट फ़ील्ड का उपयोग करता हूं तो यह ठीक है।सीएएमएल क्वेरी एक शेयरपॉइंट सूची में, लुकअप फ़ील्ड द्वारा ऑर्डर
यू 2 यू सीएएमएल क्वेरी बिल्डर इस क्वेरी को आदेश देगा जब मैं इसे संपादक में बनाउंगा।
String baseQuery = "<Query><Where><Eq><FieldRef Name='paApproved' /><Value Type='Boolean'>1</Value></Eq></Where><OrderBy><FieldRef Name='paState' Ascending='True' LookupValue='TRUE' /></OrderBy></Query>";
qStates.Query = baseQuery;
SPListItemCollection byState = web.Lists["paUpdates"].GetItems(qStates);
बाकी पाश कि संग्रह पार्स करके उसे प्रदर्शित करता है के लिए एक है:
यहाँ मैं कैसे निर्माण और क्वेरी निष्पादित की एक कोड का टुकड़ा है। यदि आवश्यक हो तो मैं इसे पोस्ट कर सकता हूं।
यहां सीएएमएल क्वेरी टूल द्वारा किए गए एसओएपी कॉल हैं, मैंने इसे वायरसहार्क के साथ HTTP स्ट्रीम से स्क्रैप किया है।
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>paUpdates</listName>
<query>
<Query xmlns="">
<Where>
<Eq>
<FieldRef Name="paApproved" />
<Value Type="Boolean">1</Value>
</Eq>
</Where>
<OrderBy>
<FieldRef Name="paState" Ascending="False" />
</OrderBy>
</Query>
</query>
<viewFields>
<ViewFields xmlns="" />
</viewFields>
<queryOptions>
<QueryOptions xmlns="" />
</queryOptions>
</GetListItems>
</soap:Body>
</soap:Envelope>
जो भी कारण CAML क्वेरी उपकरण काम करता है के लिए, मेरे कोड ऐसा नहीं करता। किसी को पता है क्यों? अग्रिम में धन्यवाद।
उस कोड को प्रतिबिंबित करने के लिए संपादित किया गया है जिसका मैं वास्तव में परीक्षण कर रहा हूं। मेरे पास कुछ कोड था जिसमें गलत मान थे।
आप सही हैं। क्षमा करें, मैं कुछ परीक्षण कर रहा था। मैं यह देखने के लिए "शीर्षक" का उपयोग कर रहा था कि यह एक लुकअप के बजाय टेक्स्ट फ़ील्ड को सॉर्ट करेगा या नहीं। जिस कोड का मैं उपयोग कर रहा था उसके पास "paState" फ़ील्ड के रूप में था, और यह काम नहीं करता है। मैंने गलत संस्करण काट दिया और चिपकाया। यह एक टेक्स्ट फ़ील्ड को सॉर्ट करेगा, लेकिन अब लुकअप फ़ील्ड पर होगा। – kevingreen
आरोही मान समान नहीं हैं, लेकिन मैंने इसे दोनों तरीकों से परीक्षण किया है, यह अभी भी सी # क्वेरी में ऑर्डर नहीं करेगा। – kevingreen
वूप्स मेरे पास एक टाइपो था। SPQuery का उपयोग करते समय आपको ' 'नोड भी शामिल नहीं करना चाहिए। मेरा अपडेट देखें। –