Pergunta

Eu estou seguindo um artigo Isso explica como usar a classe icustomattribuedatahandler.

Estou criando uma coluna personalizada para a tela da caixa de entrada, mas o problema é que o valor que eu defino para o meu atributo personalizado não está sendo refletido na tela.

Como teste, estou mudando o nome da tarefa para "whoknows". Mas este código não está afetando o que é emitido na tela:

ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");

(Sou capaz de imprimir linhas de depuração da minha aula personalizada quando a caixa de entrada for vista, então sei que meu código está sendo executado.)

Alguém sobre os comentários desse artigo escreveu:

O usuário deve chamar o "setCustomattributesInQuery () Método no DataProvider, passando em uma matriz de string dos atributos personalizados

... O que isso meen? Esse poderia ser o meu problema?

obrigado.

Foi útil?

Solução

Para ser sincero, já usei o Webtop, mas apenas como usuário. Achei um Postagem no grupo de discussão sobre desenvolvedores de DM Isso pode ser útil, no entanto:

Para criar uma coluna personalizada no documento, você não precisa passar por esses procedimentos complexos. Você pode usar o atributo personalizado Datahandlers para isso.

  1. Primeiro no seu componente de componente da lista de objetos, adicione sua definição de coluna personalizada na tag "colunas". Você pode até adicionar colunas estáticas em vez dos atributos do documento.
  2. Agora crie uma classe que implementa o icustomattributedatahandler.
  3. Implementar o padrão Os métodos getRequiredAttributes e a função getData.
  4. No GetReQuiredAttributes, adicione atributos do objeto que você está procurando.
  5. No seu método getData, recupere cada linha e, com base no atributo que você vê, basta definir o valor que deseja. 6) Finalmente defina sua classe no arquivo app.xml

Há uma seção no Guia de Desenvolvimento do WDK sobre o ICUSTOMATTRIBUETDataHandlers. Procure o tópico chamado "Adicionando atributos personalizados a um datagrid".

Não tenho certeza se esta é a solução final, mas espero que ajude!

Outras dicas

Para responder a você pergunta sobre setCustomattributesInQuery ()

Todo datagrid no WDK é apoiado por um provedor de dados subjacente. Você pode obter esse Proivder usando o seguinte código.

Datagrid datagrid = (Datagrid)getControl("doclist_grid",com.documentum.web.form.control.databound.Datagrid.class);
DataProvider dp = datagrid.getDataProvider();

Depois de fazer isso, você pode ligar

dp.setCustomAttributesInQuery(myArr);

Na verdade, não tenho certeza se isso faz parte da solução para o seu problema, mas você pode tentar isso e ver onde isso o leva.

Você precisa configurar o componente da caixa de entrada.

Se estiver usando a visualização clássica, vá para o componente Inboxlist e adicione seu atributo personalizado.

<column>
    <attribute>CustomAttributeName</attribute>
    <label>Custom Attribute Label</label>
    <visible>true</visible>
</column>

Seu atributo personalizado deve estar em um tipo personalizado que seja um sub -tipo de dmi_queue_item, porque o InboxList mostra apenas objetos dmi_queue_item.

Espero que isto ajude,

Atenciosamente, Tejas.

Isso pode ser um problema, mas com base no seu código, não sei dizer se você está fazendo isso:

ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");

ou isto:

ICustomAttributeRecordSet rs;
rs.setCustomAttributeValue(i, "taskName", "whoKnows");

Você deve chamar o método setCustomattributeValue na instância do objeto RS, não na interface.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top