I mitt pågående forsøk på å gi en mer nyttig oppslagskolonnen ved hjelp av BDC, Jeg traff en vegg med BDC plukkeren. Hvis du ikke ser det, BDC plukkeren ligner på en folk-velgeren bortsett fra at det fungerer med kolonner av typen "business data".
Du tilgang plukkeren ved å klikke på ikonet åpen bok av en forretningsdatakolonne som vist:
Bildet over viser en forretningsdatakolonne kalles "Master dokument-Id". Denne kolonnen er koblet, via BDC, til en webtjeneste. Webtjenesten returnerer to kolonner med informasjon: Dokument-ID og tittel. Business formålet her er å gi en "dette dokumentet er basert på" funksjonen. Brukere velge en "master" dokumentet, og når de spare, en hendelsesmottaker kopierer meta datafelt fra refererte master.
Som standard, BDC plukkeren ser slik ut når jeg søker etter et dokument med ID = "38":
Det er nyttig, men ikke gode nok. Folk tror ikke i IDene, de tenker i form av titler og/eller andre metadata. Plukkeren lar deg søke i andre kolonner (f.eks. Tittel) men ikke vise den faktiske listen over titler funnet, bare deres DocId er som vist her:
(Skjermbildet er ikke så stor fordi jeg ikke gjorde plukke et søk som alle gyldige resultater, men du kan se at hvis det hadde funnet noen resultater, det ville bare ha vist Docids, ikke titler).
Jeg søkte høyt og lavt for svaret på dette og ikke. Min kollega, den ærverdige Jonathan Bradshaw, hadde møtt og løst problemet. Da jeg nådde til ham om hjelp, han pekte meg i riktig retning.
Konfigurere plukkeren for å vise flere kolonner via ShowInPicker»" eiendom i den automatiske Dokumentmateren:
<Egenskapen navn="ShowInPicker" Type="System.Boolean">sann</Egenskapen>
Mer detaljert:
<!-- Tittel -->
<TypeDescriptor TypeName="System.String" navn="Tittel" >
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1033">Tittel</LocalizedDisplayName>
</LocalizedDisplayNames>
<Egenskaper>
<Egenskapen navn="DisplayByDefault" Type="System.Boolean">sann</Egenskapen>
<Egenskapen navn="ShowInPicker" Type="System.Boolean">sann</Egenskapen>
</Egenskaper>
</TypeDescriptor>
Denne egenskapen presentere et mindre problem. Så snart du setter den gang, du må angi det for hver kolonne du vil vise. I mitt tilfelle, BDC picker viste DocId som standard. Men, Når jeg lagt "ShowInPicker" tittel, DocId vises ikke lenger. Jeg løste det ved å uttrykkelig angi egenskapen ShowInPicker for Doc-ID.
Her er resultatet:
(Jeg skal forklare de odde-ser "168 – CamlSchema.xsd" bygging i en fremtidig blogginnlegg. Kort sagt, Det er en sammensatt streng som gir en litt bedre brukeropplevelse).
selvfølgelig, å ha skrevet denne bloggpost, Jeg gjorde et søk etter "ShowInPicker" og fant mange treff, inkludert denne: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Det forklarer betydningen av denne eiendommen sammen med noen andre gode BDC ting.
</slutten>
Abonner på bloggen min!
Technorati Merkelapper:
BDC