Solución: Picker BDC Mostra só unha columna de resultados

En miñas tentativas en curso na subministración dun columna de investigación máis útil usar 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".

Accede o seleccionador, premendo na icona de unha columna de datos corporativos libro aberto, como se mostra:

imaxe

The above image shows a business data column called "Master Document Id". That column is connected, vía 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" función. Users select a "master" documento e cando gardar, un receptor de eventos copias campos de metadatos do mestre referenciada.

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

clip_image002

Isto é útil, 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. Título) pero non vai amosar a lista actual de títulos se atopa, só a súa DocId está como se mostra aquí:

clip_image002[1]

(A pantalla non é tan grande porque eu non incorporarse unha busca que retorna todos os resultados válidos, pero podes ver que houbo algúns resultados, el só mostraría DocId de, nin títulos).

I searched high and low for the answer to this and failed. O meu compañeiro, o venerábel Jonathan Bradshaw, had faced and solved this issue. When I reached out to him for help, el me apuntou na dirección correcta.

Configure the picker to show multiple columns via the "ShowInPicker" propiedade no ADF:

<Propiedade Nome="ShowInPicker" Tipo="System.Boolean">certo</Propiedade>

En máis detalle:

  <!-- Título -->
  <TypeDescriptor TypeName="System.String" Nome="Título" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Título</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Propiedades>
      <Propiedade Nome="DisplayByDefault" Tipo="System.Boolean">certo</Propiedade>
      <Propiedade Nome="ShowInPicker" Tipo="System.Boolean">certo</Propiedade>
    </Propiedades>
  </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. No meu caso, BDC picker showed DocId by default. Con todo, once I added "ShowInPicker" Título, DocId no longer displayed. I solved that by explicitly setting the ShowInPicker property for Doc ID.

Aquí está o resultado:

imaxe

(I’ll explain the odd-looking "168 – CamlSchema.xsd" construction in a future blog post. En resumo, é unha cadea concatenada que permite un pouco mellor experiencia do usuario).

Por suposto, escribir este blog, I just did a search for "ShowInPicker" e atopei moitos logros, incluíndo este: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. It explains the meaning of that property along with some other good BDC stuff.

</final>

Rexístrate para o meu blog!

Technorati Tags:

4 pensamentos sobre "Solución: Picker BDC Mostra só unha columna de resultados

  1. Jean-Marie

    Maldición… Este artigo me salvo unha morea de tempo e miña vida :-))

    Gran post e seu blog engade aos meus favoritos. A propósito, I found the article by googling "bdc could not find fields to insert all the identifier values" *lol* 😉

    Saúdos, Jm

    Responder
  2. juggler_10 1
    Vostede cubriu a maior parte dos problemas que eu me deparei ao longo do último mes, É gran velos nun só lugar. My question is how you are searching by more than one column in the picker. Eu non tiven ningunha sorte para conseguir o BDC para procurar por máis dunha columna. Creei varios filtros e que me dá unha segunda opción na lista despregábel, pero eu non teño sido capaz de realmente facelo funcionar coa consulta. E cara sería óptimo.
    Responder
  3. Paul 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" e, polo tanto, non podería ter unha boa resposta.
    Everyone should certainly look at bdc meta man. Hand crafting ADF files is not a good use of a human’s time, iso é certo.
    Responder

Deixe unha resposta

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *