This past week I was implementing an "evolving" solution for a client that uses BDC and SPQuery and ran into some difficulty using SPQuery against a document library containing folders. পাদ - পংক্তি: assign "recursive" কোয়্যারীর ভিউ অ্যাট্রিবিউট.
আমার দৃশ্যকল্প:
- সোমবার, আমি একটা ডকুমেন্ট আপলোড এবং কিছু মেটা তথ্য সরবরাহ.
- পরের সপ্তাহে, I upload a new document. Much of this new document’s meta data is based on the document I uploaded on Monday (which we call the "master document").
- ব্যবহারকারীরা সহজেই একটি শিরোনাম খোঁজো মাধ্যমে সোমবার ডকুমেন্ট সনাক্ত করতে পারেন, যাতে আমরা এটা তালিকায় একটি BDC বান্ধব ইন্টারফেস উপলব্ধ করা হয় এমন একটি ওয়েব পরিষেবা বাইরের অংশটা তৈরি করেছি.
- A BDC data column provides a friendly user interface. (এটি একটি আরো বন্ধুত্বপূর্ণ লুকআপ কলামের জন্য BDC ব্যবহার করে আমার প্রয়াস অংশ).
চূড়ান্ত BDC বাইরের অংশটা পরিষেবা লুকআপ করতে ভালো একটি ক্যোয়ারী ব্যবহার করে:
// এই CAML ক্যোয়ারী উৎপাদিত সহযোগিতা ব্যবহৃত U2U হাতিয়ার. oQuery.Query = "<যেখানে>"; যদি (titleFilter.Length > 0) oQuery.Query = " <এবং>"; oQuery.Query = " <এবং>" + " <Geq>" + " <FieldRef Name=\"DocumentId\" />" + " <Value Type=\"Text\">" + MinID + "</মান>" + " </Geq>" + " <Leq>" + " <FieldRef Name=\"DocumentId\" />" + " <Value Type=\"Text\">" + maxId + "</মান>" + " </Leq>" + " </এবং>"; যদি (titleFilter.Length > 0) oQuery.Query = " <উপস্থিত>" + " <FieldRef Name=\"Title\" />" + " <Value Type=\"Text\">" + titleFilter + "</মান>" + " </উপস্থিত>" + " </এবং>"; oQuery.Query = "</যেখানে>";
উন্নয়নের প্রাথমিক পর্যায়ে, this worked great. কিন্তু, আমরা হঠাৎ কিছু সমস্যার সমাধান এবং ডিরেক্টরির মধ্যে ফোল্ডার চালু, my BDC picker wouldn’t return any results. I tracked this down to the fact that the SPQuery would never return any results. We used folders primarily to allow multiple files with the same name to be uploaded but with different meta data. When the file is uploaded, আমরা তালিকা আইটেম এর আইডি উপর ভিত্তি করে একটি ফোল্ডার তৈরি করুন এবং তারপর ফাইল সরাতে (আমি যে বিষয়ে লিখেছে এখানে; আমরা করেছি মিশ্র ফলাফল এই পদ্ধতির সঙ্গে কিন্তু গোটা নেভিগেশন, এটা ভাল কাজ করছে). The user don’t care about folders and in fact, don’t really understand that there are any folders. We have configured all the views on the library to show items without regard to folders.
I hit this problem twice as the technical implementation evolved and solved it differently each time. The first time, I wasn’t using the CONTAINS operator in the query. Without a CONTAINS operator, I was able to solve the problem by specifying the view on the SPQuery’s contructor. Instead of using the default constructor:
SPList oList = web.Lists["Documents"];
SPQuery oQuery = নতুন SPQuery();
আমি এর পরিবর্তে একটি ভিউ নির্দিষ্ট একটি রচয়িতা ব্যবহৃত:
SPList oList = web.Lists["Documents"];
SPQuery oQuery = নতুন SPQuery(oList.Views["All Documents"]);
যে সমস্যার সমাধান এবং আমি আমার ফলাফল পেতে শুরু.
I then added the CONTAINS operator into the mix and it broke again. It turns out that the CONTAINS operator, যতদূর আমি বলতে পারেন, একটি সহজ GEQ হিসেবে ভিউ সঙ্গে একই ভাবে কাজ করে না / LEQ operators. I did some searching and learned that the query’s ViewAttributes should be set to "Recursive", যেমন:
oQuery.ViewAttributes = "Scope=\"Recursive\"";
That solved the problem for CONTAINS. বাস্তবিকই, এটি আমার মূল খোঁজো সমস্যার সমাধান এবং আমি recursive অ্যাট্রিবিউট প্রথমবার উল্লিখিত ছিল, আমি আবার সমস্যা পাতিত হবে না.
একটি দৃশ্য ভিত্তিক SPQuery কিছু অপারেটরদের জন্য কাজ করে যে (GEQ/LEQ) এবং অন্যদের (উপস্থিত), KPIs ফোল্ডার-সম্বলিত ডকুমেন্ট লাইব্রেরী সঙ্গে এ সব কাজ করে না বলে মনে হচ্ছে যে সঙ্গে মিলিত সম্পর্কে যে SPQuery কিছু orthogonality বিষয় আছে বিশ্বাস জন্মাতে.
বিশেষ ধন্যবাদ:
- ভাল ভাবেন U2U এবং তাদের ক্যোয়ারী হাতিয়ার.
- মাইকেল Hoffer এর মহান "করে শেখার" ব্লগ পোস্ট, মন্তব্য এবং প্রতিক্রিয়া.
</শেষ>
আমার ব্লগ এর জন্য সাবস্ক্রাইব করুন!
http://www.batteryfast.co.uk/asus/w3v.htm ASUS w3v ব্যাটারি,
http://www.batteryfast.co.uk/asus/w3000a.htm asus w3000a battery,
http://www.batteryfast.co.uk/asus/w3000.htm ASUS w3000 ব্যাটারি,
http://www.batteryfast.co.uk/asus/w3000v.htm ASUS w3000v ব্যাটারি,
http://www.batteryfast.co.uk/asus/a31-s5.htm ASUS a31-s5 ব্যাটারি,
http://www.batteryfast.co.uk/asus/a32-s5.htm ASUS a32-s5 ব্যাটারি,
http://www.batteryfast.co.uk/asus/s52n.htm ASUS s52n ব্যাটারি,
http://www.batteryfast.co.uk/asus/s5000.htm ASUS s5000 ব্যাটারি,
http://www.batteryfast.co.uk/asus/s5200n.htm ASUS s5200n ব্যাটারি,
http://www.batteryfast.co.uk/asus/s5n.htm ASUS s5n ব্যাটারি,
http://www.batteryfast.co.uk/asus/90-naa1b1000.htm ASUS 90 naa1b1000 ব্যাটারি,
http://www.batteryfast.co.uk/asus/s2691061.htm ASUS s2691061 ব্যাটারি,
http://www.batteryfast.co.uk/asus/a42-v6.htm আসুস a42-V6 ব্যাটারি,
http://www.batteryfast.co.uk/asus/a32-u5.htm ASUS a32-u5 ব্যাটারি,
http://www.batteryfast.co.uk/asus/u5f.htm ASUS u5f ব্যাটারি,
http://www.batteryfast.co.uk/asus/u5a.htm ASUS ব্যাটারি U5A,
http://www.batteryfast.co.uk/asus/u5f.htm ASUS u5f ব্যাটারি,
http://www.batteryfast.co.uk/asus/u5.htm ASUS U5 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nw8000.htm কমপ্যাক nw8000 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nc8000.htm কমপ্যাক nc8000 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/v1000.htm কমপ্যাক v1000 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nc6000.htm কমপ্যাক nc6000 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nx5000.htm কমপ্যাক nx5000 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/n600.htm কমপ্যাক n600 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/n600c.htm কমপ্যাক n600c ব্যাটারি,
http://www.batteryfast.co.uk/compaq/n610c.htm কমপ্যাক n610c ব্যাটারি,
http://www.batteryfast.co.uk/compaq/n610v.htm কমপ্যাক n610v ব্যাটারি,
http://www.batteryfast.co.uk/compaq/n620c.htm কমপ্যাক n620c ব্যাটারি,
http://www.batteryfast.co.uk/compaq/e500.htm কমপ্যাক e500 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/e500s.htm কমপ্যাক e500s ব্যাটারি,
http://www.batteryfast.co.uk/compaq/v300.htm কমপ্যাক v300 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/v500.htm কমপ্যাক v500 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/pp2060.htm কমপ্যাক pp2060 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nx9000.htm কমপ্যাক nx9000 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nx9005.htm কমপ্যাক nx9005 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nx9010.htm কমপ্যাক nx9010 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/nx9020.htm কমপ্যাক nx9020 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/n110.htm কমপ্যাক n110 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/n110s.htm কমপ্যাক n110s ব্যাটারি,
http://www.batteryfast.co.uk/compaq/pp2101x.htm কমপ্যাক pp2101x ব্যাটারি,
http://www.batteryfast.co.uk/compaq/presario-2100.htm কমপ্যাক presario 2100 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/ze4000.htm কমপ্যাক ze4000 ব্যাটারি,
http://www.batteryfast.co.uk/compaq/f4809a.htm কমপ্যাক f4809a ব্যাটারি,
http://www.batteryfast.co.uk/compaq/f4812a.htm কমপ্যাক f4812a ব্যাটারি,
http://www.batteryfast.co.uk/dell/inspiron-700m.htm Dell Inspiron 700m ব্যাটারি,
http://www.batteryfast.co.uk/dell/inspiron-710m.htm Dell Inspiron 710m ব্যাটারি,
http://www.batteryfast.co.uk/dell/latitude-x200.htm ডেল অক্ষাংশ x200 ব্যাটারি,
http://www.batteryfast.co.uk/dell/8u443.htm ডেল ব্যাটারি 8u443,
http://www.batteryfast.co.uk/dell/312-0058.htm ডেল 312-0058 ব্যাটারি,
আপনি StringBuilder দীর্ঘ স্ট্রিং নির্মাণের জন্য ভাল অভ্যাস যে জানি, অধিকার?