Ufumbuzi: BDC Picker Inaonyesha Mmoja tu Column ya Matokeo

In my on-going attempts at providing a more useful lookup column using BDC, I hit a wall with the BDC picker. If you haven’t see it, the BDC picker is similar to a people picker except that it works with columns of type "business data".

You access the picker by clicking on the open book icon of a business data column as shown:

picha

The above image shows a business data column called "Master Document Id". That column is connected, via BDC, to a web service. The web service returns two columns of information: Document ID and Title. The business purpose here is to provide a "this document is based on" kazi. Users select a "master" document and when they save, an event receiver copies meta data fields from the referenced master.

By default, the BDC picker looks like this when I search for a document whose ID = "38":

clip_image002

That’s helpful, but not good enough. People don’t think in terms of IDs, they think in terms of titles and/or other meta data. The picker allows you to search on other columns (e.g. Title) but won’t show the actual list of titles it found, just their DocId’s as shown here:

clip_image002[1]

(The screen shot isn’t so great because I didn’t pick a search that returns any valid results, but you can see that if it had found some results, it would only have shown DocId’s, not titles).

I searched high and low for the answer to this and failed. Yangu mwenzake, the venerable Jonathan Bradshaw, had faced and solved this issue. When I reached out to him for help, he pointed me in the right direction.

Configure the picker to show multiple columns via the "ShowInPicker" property in the ADF:

<Mali Jina="ShowInPicker" Aina="System.Boolean">kweli</Mali>

In more detail:

  <!-- Title -->
  <TypeDescriptor TypeName="System.String" Jina="Title" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Title</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Mali>
      <Mali Jina="DisplayByDefault" Aina="System.Boolean">kweli</Mali>
      <Mali Jina="ShowInPicker" Aina="System.Boolean">kweli</Mali>
    </Mali>
  </TypeDescriptor>

Setting this property does introduce a minor problem. As soon as you set it once, you need to set it for every column you want to show. Katika kesi yangu, BDC picker showed DocId by default. Hata hivyo, once I added "ShowInPicker" to Title, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

Here is the result:

picha

(I’ll explain the odd-looking "168 – CamlSchema.xsd" construction in a future blog post. Kwa kifupi, it’s a concatenated string that allows for a slightly better user experience).

Bila shaka, having written this blog entry, I just did a search for "ShowInPicker" and found numerous hits, including this one: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</mwisho>

Kujiunga na blog yangu!

Tags technorati:

4 mawazo juu ya "Ufumbuzi: BDC Picker Inaonyesha Mmoja tu Column ya Matokeo

  1. Jean-Marie

    DamnThis Article saved me a lot of time and my live :-))

    Great Post and your Blog added to my favorites. By the way, I found the article by googling "bdc could not find fields to insert all the identifier values" *lol* 😉

    Regards, Jm

    Kujibu
  2. juggler_10​1
    You’ve covered most of the issues I’ve come across over the last month, it’s great to see them in one place. My question is how you are searching by more than one column in the picker. I haven’t had any luck getting the BDC to search by more than one column. I’ve created multiple filters and that gives me a second option in the dropdown but i haven’t been able to actually get it to work with the query. And direction would be great.
    Kujibu
  3. Paulo Galvin
    I found that once I searched for "showinpicker".
    I did all kinds of searching for a solution to this and couldn’t find anything until Jonathan Bradshaw told me how he solved it. Lots of hits on "ShowInPicker" but virtually nothing on "bdc data column shows only one column in web page dialog".
    I didn’t know what question to "ask" and so couldn’t get a good answer.
    Everyone should certainly look at bdc meta man. Hand crafting ADF files is not a good use of a human’s time, that’s for sure.
    Kujibu

Kuondoka Reply

Anwani yako si kuchapishwa. Mashamba required ni alama *