În încercările mele pe-merge la furnizarea de un coloană de căutare mai util utilizează BDC, Am lovit un perete cu selectorul de BDC. Dacă nu aţi vedea it, selectorul BDC este similar cu o alegere de oameni, cu excepţia faptului că funcţionează cu coloane de tip "date de afaceri".
Accesaţi selectorul făcând clic pe pictograma carte deschisă de o coloană de date de afaceri ca:
Imaginea de mai sus arată o coloană de date de afaceri numit "Master Document Id". Acea coloană este conectat, Via BDC, la un serviciu web. Serviciul web întoarce două coloane de informaţii: Document ID şi titlul. Afaceri scopul aici este de a oferi o "acest document este bazat pe" funcţia. Utilizatorii selectați un maestru"" document şi salvaţi-le atunci când, un receptor de eveniment copiază meta câmpurile de date la care se face referire maestru.
În mod implicit, selectorul BDC arata acest lucru atunci când am de căutare pentru un document al cărui ID = "38":
Care este util, dar nu suficient de bun. Oamenii nu gândesc în termeni de ID-uri, ei cred în titluri sau alte date meta. Târnăcop vă permite să căutaţi pe alte coloane (ex. Titlul) dar nu va afişa lista reale de titluri a găsit, doar lor DocId's așa cum se arată aici:
(Ecran shot nu este atât de mare, pentru că am nu alegeţi o căutare care returnează niciun rezultat valid, dar puteţi vedea că dacă acesta a găsit unele rezultate, Acesta ar fi arătat numai DocId lui, nu titluri).
Am căutat de înaltă şi joasă pentru răspunsul la acest lucru şi nu a reuşit. Colegul meu, Venerabilul Jonathan Bradshaw, a cu care se confruntă şi a rezolvat această problemă. Când am ajuns la el pentru ajutor, El a subliniat mine în direcţia cea bună.
Configuraţi selectorul pentru a afişa mai multe coloane via "ShowInPicker" proprietate în ADF:
<Proprietate nume="ShowInPicker" Tip="System.boolean">adevărat</Proprietate>
În mai multe detalii:
<!-- Titlul -->
<TypeDescriptor TypeName="System.string" nume="Titlul" >
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1033">Titlul</LocalizedDisplayName>
</LocalizedDisplayNames>
<Proprietăţi>
<Proprietate nume="DisplayByDefault" Tip="System.boolean">adevărat</Proprietate>
<Proprietate nume="ShowInPicker" Tip="System.boolean">adevărat</Proprietate>
</Proprietăţi>
</TypeDescriptor>
Setarea acestei proprietăți să introducă o problemă minoră. De îndată ce aţi stabilit-o o dată, ai nevoie să-l setaţi pentru fiecare coloană pe care doriţi să arate. În cazul meu, Selector de BDC a arătat DocId implicit. Cu toate acestea, după ce am adăugat "ShowInPicker" titlu, DocId nu mai este afişată. I solved that by explicitly setting the ShowInPicker property for Doc ID.
Aici este rezultatul:
(Sa-ti explic ciudat "168 – CamlSchema.xsd" construction in a future blog post. În scurt, Acesta este un şir concatenat care permite o puţin mai bună experienţă de utilizator).
desigur, având în scris această intrare în blog, Tocmai am făcut o căutare pentru "ShowInPicker" şi a găsit numeroase hit-uri, inclusiv: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.
</scop>
Aboneaza-te la blog-ul meu!