கரைசல்: BDC தேர்வாளர் முடிவுகள் ஒரே வரிசை காட்டுகிறது

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:

படம்

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" செயல்பாடு. Users select a "master" document and when they save, an event receiver copies meta data fields from the referenced master.

முன்னிருப்பாக, 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. தலைப்பு) 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. என் சக, 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:

<சொத்து பெயர்="ShowInPicker" மாதிரி="System.Boolean">உண்மையான</சொத்து>

In more detail:

  <!-- தலைப்பு -->
  <TypeDescriptor TypeName="System.String" பெயர்="தலைப்பு" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">தலைப்பு</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <பண்புகள்>
      <சொத்து பெயர்="DisplayByDefault" மாதிரி="System.Boolean">உண்மையான</சொத்து>
      <சொத்து பெயர்="ShowInPicker" மாதிரி="System.Boolean">உண்மையான</சொத்து>
    </பண்புகள்>
  </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. என் வழக்கு, BDC picker showed DocId by default. எனினும், 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:

படம்

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

நிச்சயமாக, 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.

</இறுதியில்>

என்னுடைய குழுசேர்!

Technorati குறிச்சொற்கள்:

4 "மீது எண்ணங்கள்கரைசல்: BDC தேர்வாளர் முடிவுகள் ஒரே வரிசை காட்டுகிறது

  1. 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.
  2. பால் கால்வின்
    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.

ஒரு பதில் விட்டு

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டன *