none
campo do tipo FieldUser RRS feed

  • Pergunta

  • Boa Tarde,

    Como faço para fazer uma alteração em um item de uma lista que tem um campo do tipo FieldUser em javascript.

    Obrigado!!!

    sábado, 1 de dezembro de 2012 15:21

Respostas

  • Oi Felipe,

    você atualiza utilizando o método:

    set_item()

    Veja um exemplo:

    <script language="ecmascript" type="text/ecmascript"> var UpdateUserField = function (id, usuario) { var notifyId; var ctx = SP.ClientContext.get_current(); if (ctx != undefined && ctx != null) { web = ctx.get_web(); var value = SP.FieldUserValue.fromUser(usuario);

    var list = web.get_lists().getByTitle('NOME_DA_SUA_LISTA'); var item = list.getItemById(id); ctx.load(item); item.set_item('NOME_DO_SEU_CAMPO', value); item.update(); ctx.executeQueryAsync(Function.createDelegate(this, onQuerySucceeded), Function.createDelegate(this, onQueryFailed)); } function onQuerySucceeded() { notifyId = SP.UI.Notify.addNotification('Ok!', true); } function onQueryFailed(sender, args) { notifyId = SP.UI.Notify.addNotification('Falha!' + args.get_message() + '\n' + args.get_stackTrace(), true); } } </script>

    O método SP.FieldUserValue.fromUser(str), retorna um objeto FieldUserValue a partir de um nome de usuário, você pode utilizar ele para atualizar seu campo.

    Caso utilize múltiplos usuários, você deve utilizar um objeto Array seguindo a mesma lógica:

    Ex:

    var mUsuarios = new Array();
    mUsuarios.push(SP.FieldUserValue.fromUser("NOME_DO_USUARIO1"));
    mUsuarios.push(SP.FieldUserValue.fromUser("NOME_DO_USUARIO_2"));
    
    item.set_item(NOME_DO_SEU_CAMPO, mUsuarios);

    Html:

        <input id="btnAtualizar" onclick="UpdateUserField(1, 'DOMINIO\\USUARIO')" type="button" value="Atualizar..." />	


    ROBERTOSLJUNIOR

    • Marcado como Resposta FelipeAGP sábado, 1 de dezembro de 2012 19:55
    sábado, 1 de dezembro de 2012 19:52