In mijn pogingen gaande op het verstrekken van een nuttiger opzoekkolom met behulp van BDC, Ik raakte een muur met de BDC picker. Als u nog niet zien, de BDC picker is vergelijkbaar met een datumkiezer mensen behalve dat het werkt met kolommen van het type "zakelijke gegevens".
U toegang tot de picker door te klikken op het pictogram van de open boek van een kolom voor zakelijke gegevens zoals:
De bovenstaande afbeelding toont een kolom voor zakelijke gegevens genaamd "Master Document-Id". Die kolom is aangesloten, via BDC, bij een webservice. De webservice retourneert twee kolommen met gegevens: Document-ID en titel. De zakelijk doel hier is bedoeld als een "dit document is gebaseerd op" functie. Gebruikers selecteren een "master" document en wanneer ze opslaat, de ontvanger van een gebeurtenis opgehaald meta gegevensvelden uit het model waarnaar wordt verwezen.
Standaard, de BDC datumkiezer eruitziet als dit wanneer ik naar een document waarvan de ID zoeken = "38":
Dat is nuttig, maar niet goed genoeg. Mensen denken niet in termen van id 's, zij denken in termen van titels en/of andere metagegevens. De Kleurkiezer kunt u zoeken op andere kolommen (bijvoorbeeld. Titel) maar de feitelijke lijst met titels bleek niet weergegeven, gewoon hun arts is zoals hier wordt weergegeven:
(Het het schermschot is niet zo groot, omdat ik niet kies een zoekopdracht die elke geldige resultaten retourneert, maar je kunt zien dat als het had sommige resultaten gevonden, het zou alleen hebben aangetoond van de arts, niet titels).
Ik zocht hoog en laag naar het antwoord op dit en is mislukt. Mijn collega, de eerbiedwaardige Jonathan Bradshaw, had geconfronteerd en dit probleem opgelost. Wanneer ik stak hem voor hulp, Hij wees me in de goede richting.
Configureren van de datumkiezer om aan te tonen van meerdere kolommen via de ShowInPicker"" onroerend goed in de automatische Documentinvoer:
<Eigenschap Naam="ShowInPicker" Type="System.Boolean">True</Eigenschap>
Meer in detail:
<!-- Titel -->
<TypeDescriptor TypeName="System.String" Naam="Titel" >
<LocalizedDisplayNames>
<LocalizedDisplayName LCID="1033">Titel</LocalizedDisplayName>
</LocalizedDisplayNames>
<Eigenschappen>
<Eigenschap Naam="DisplayByDefault" Type="System.Boolean">True</Eigenschap>
<Eigenschap Naam="ShowInPicker" Type="System.Boolean">True</Eigenschap>
</Eigenschappen>
</TypeDescriptor>
Deze eigenschap voeren een klein probleem. Zodra u het één keer instellen, u moet voor elke kolom die u wilt weergeven. In mijn geval, BDC picker arts toonde standaard. Echter, Zodra ik heb toegevoegd "ShowInPicker" titel, Arts niet langer weergegeven. Ik dat opgelost door expliciet de eigenschap van de ShowInPicker ingesteld voor Doc-ID.
Hier is het resultaat:
(Ik zal uitleggen de vreemd "168 – CamlSchema.xsd" bouw in een toekomstig blogpost. In het kort, het is een aaneengeschakelde tekenreeks die voorziet in een iets betere user experience).
Natuurlijk, deze blog entry hebben geschreven, Ik heb een zoekopdracht voor "ShowInPicker" en vond vele hits, met inbegrip van dit: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Het verklaart de betekenis van die eigenschap samen met enkele andere goede dingen van de BDC.
</einde>
Abonneren op mijn blog!