Pergunta

Gostaria de adicionar e selecionar valores em um campo de escolha em uma biblioteca de documentos.Algo obviamente mais complicado do que eu lembrava.

Estou fazendo algo assim, mas não funciona.O valor é adicionado ao campo nas exibições de lista, mas não à coluna Escolha.

ClientContext ctx = new ClientContext("http://mymachine");
Web currentWeb = ctx.Web;
ctx.Load(currentWeb);
ctx.ExecuteQuery();

SP.List list = ctx.Web.Lists.GetByTitle("Doclib");
ctx.Load(list);
ctx.ExecuteQuery();

ListItemCollection items = list.GetItems(CamlQuery.CreateAllItemsQuery());
ctx.Load(items);
ctx.ExecuteQuery();


foreach (ListItem listItem in items)
{
    ctx.Load(listItem.File);
    ctx.ExecuteQuery();

    if (listItem.File.Name.Equals(fileName))
    {
        var processValue = "A Value";
        listItem["MetaProcess"] = processValue;
        //SP.FieldChoice itemType = ctx.CastTo<SP.FieldChoice>(list.Fields.GetByTitle("MetaProcess"));
        //itemType.Choices = new[] { "Agenda", "Agreement", "Full text", "Minutes", "News Item", "Reference" };
        //itemType.Update();
        //ctx.ExecuteQuery();
    }
    listItem.Update();
}
ctx.ExecuteQuery();
Foi útil?

Solução

Optei por trabalhar em outra rota usando o Camelot .NET Connector para SharePoint!

Outras dicas

o seguinte funciona para mim.

    calendarDropDown = (DropDownList)TemplateContainer.FindControl("calendarDropDown");
    if (ControlMode == SPControlMode.New || ControlMode == SPControlMode.Edit)
    {
        SPWeb currentWeb = SPContext.Current.Web;
        SPListCollection lists = currentWeb.Lists;
        foreach (SPList list in lists)
        {
            if (list.BaseTemplate == SPListTemplateType.Events)
            {
                calendarDropDown.Items.Add(list.Title);
            }
        }
    }
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top