none
Não consigo inserir valor via código c# para o meu campo infopath do tipo DropDownList (caixa de listagem suspensa), e agora? RRS feed

  • Pergunta

  • Olá,
    Meu formulário possui vários campos.
    Dentre estes campos temos um do tipo DropDownList (caixa de listagem suspensa).

    No meu código eu consigo inserir informações para todos os campos, inclusive para este, mas por algum motivo o mesmo não aparece na COLUNA da biblioteca.

    Se eu abro o formulário ele está lá preenchido com o valor  que escolhi no seu cadastro.
    Mas se olho nas colunas ele não existe.

    O que posso estar fazendo de errado aqui?
    Segue meu código de inclusão de valor neste campo DropDownList.

    XPathNavigator DOM = MainDataSource.CreateNavigator();
    string pegaValorDoCampo = DOM.SelectSingleNode("/my:myFields/my:MeuCampoDropDownList", NamespaceManager).Value;

    DOM.SelectSingleNode("/my:myFields/my:MeuCampoDropDownList", NamespaceManager).SetValue(pegaValorDoCampo);

    OBS: Durante a execução de uma rotina c# para ler tens da biblioteca eu consigo obter os seguintes valores:

    Valor Atual do MeuCampoDropDownList do Item sendo lido = ValorA

    item["f4af2c62_x045d_66fg_x0rrd_4df2_x002d_9sd9_x0vvd_6945fg594g92"] = ValorA

    MeuDocumentoXmlDocumentDoFormulario.SelectSingleNode("/my:myFields/my:MeuCampoDropDownList", nsManager).Value = null;


    Como podemos ver o item da biblioteca possui o valor, mas o campo do formulário (isso no xml dele) não possui nenhum valor.

    Mas uma observação.

    Se vou na biblioteca de infopath e baixo o xml do arquivo vejo que o meu campo/nó no xml referente ao campo MeuCampoDropDownList esta preenchido.

    O problema é saber por que que este valor não APARECE na coluna da biblioteca.


    O que há de errado amigos?

    Obrigado


    k2rto4-Pb - Analista SharePoint





    • Editado TI DEV quinta-feira, 19 de julho de 2012 20:46
    quinta-feira, 19 de julho de 2012 20:14

Todas as Respostas

  • Esse formulário está como template da biblioteca?

    Atenciosamente, Rafael Fausto

    sexta-feira, 20 de julho de 2012 12:55
  • Olá Rafael,

    Se voce diz que template da biblioteca quer dizer Tipos de Conteúdo da biblioteca, então ele é um template da biblioteca sim.

    Abs


    k2rto4-Pb - Analista SharePoint

    sexta-feira, 20 de julho de 2012 13:08
  • Isso mesmo que eu quis dizer.

    Você pode colocar o codigo desde a instancia do content type, modificação e atualização?


    Atenciosamente, Rafael Fausto

    sexta-feira, 20 de julho de 2012 13:33
  • Como assim?

    O meu código que insere as informações nos campos esta dentro do evento de um botão do formulário, é isso?


    k2rto4-Pb - Analista SharePoint

    sexta-feira, 20 de julho de 2012 13:41
  • Eu disse para você postar o código que você utiliza para atualizar o content type.

    Da instancia do content type até sua atualização.


    Atenciosamente, Rafael Fausto


    sexta-feira, 20 de julho de 2012 13:45
  • Olá Rafael,

    O código do meu botão ta assim:

    XPathNavigator DOM = MainDataSource.CreateNavigator();

    //Pego o valor que ta na combo
    string pegaValorDoCampo = DOM.SelectSingleNode("/my:myFields/my:MeuCampoDropDownList", NamespaceManager).Value;

    //Insiro o valor aqui
    DOM.SelectSingleNode("/my:myFields/my:MeuCampoDropDownList", NamespaceManager).SetValue(pegaValorDoCampo);

    O estranho é que se eu mudo o campo acima MeuCampoDropDownList para um outro do mesmo tipo até a atualização funciona.
    Estranho não?

    Abs


    k2rto4-Pb - Analista SharePoint

    sexta-feira, 20 de julho de 2012 13:52
  • Olá Rafael,

    Olha que estranho.

    Adicionei um novo campo ao meu formulário.
    Este novo campo foi adicionado como campo da biblioteca.

    No meu código adicionei a linha abaixo para que ele seja preenchido.
    DOM.SelectSingleNode("/my:myFields/my:novoCampoTipoTexto", NamespaceManager).SetValue(pegaValorDoCampo);

    Com isso o campo é preenchido.
    Então, com o código acima consigo inserir dados nos meus campos (tanto infopath quanto coluna da biblioteca).
    O problema é com aquele campo mesmo.

    Será que ele tem alguma configuração?

    Obrigado


    k2rto4-Pb - Analista SharePoint


    • Editado TI DEV sexta-feira, 20 de julho de 2012 14:11
    sexta-feira, 20 de julho de 2012 14:11
  • Então,

    Mas você não tem que acessar o content type, pegar o formulário e atualiza-lo tb?

    Também atualizar o campo Fields do content type.


    Atenciosamente, Rafael Fausto


    sexta-feira, 20 de julho de 2012 14:13
  • Como assim?

    A única coisa eu faço aqui é a inserção ja mostradada.

    Se funciona assim para estes campos por que que não funciona para os outros?

    Abs


    k2rto4-Pb - Analista SharePoint

    sexta-feira, 20 de julho de 2012 14:19