Pregunta

Estoy creando listas personalizadas (campos, CT, Lista Def y instancia de lista) A y B con Visual Studio.Tengo columna del sitio llamada "estado", he usado esos nombre de columna en Lista y Listb.De repente, necesito cambiar el nombre de la pantalla del campo "Estado" de Listb como estado, ya que su columna de sitio después de cambiar el nombre de la pantalla también afectará el nombre de la pantalla LISTA.¿Cómo resolver los problemas?Necesito actualizar el campo en la definición de la lista?

¿Fue útil?

Solución

En el segundo tipo de contenido que puede haber creado para el Listb, especifique el atributo heredado a la propiedad False para ContentType.A Luego, en la sección FieldRefs cambie el nombre del campo Estado.

<ContentType ID="CTID"
                   Name="CTName"
                   Group="CTGroup"
                   Description="CTDescription"
                   Inherits="FALSE"
                   Version="0">
        <FieldRefs>
      <FieldRef Name="Status" ID="IDOFSTATUSColumn" DisplayName="StatusB"/>
    </FieldRefs>
    </ContentType>

Para obtener más información, puede consultar http://sharepointnadeem.blogspot.in/2011/06/change-default-field-names-in-child.html

Aquí vas.Así es como puede cambiar el nombre de la pantalla del campo usando CSOM y lo convierte en un campo requerido:

            ClientContext clientContext = new ClientContext("http://demo2010a:90");
            List list = clientContext.Web.Lists.GetByTitle("Products");
            clientContext.Load(list);
            clientContext.ExecuteQuery();
            var fields = list.Fields;
            clientContext.Load(fields);
            clientContext.ExecuteQuery();
            var field = fields.GetByInternalNameOrTitle("Status");
            field.Required = true;
            field.Title = "StatusB";
            field.Update();
            clientContext.Load(field);
            clientContext.ExecuteQuery();

Licenciado bajo: CC-BY-SA con atribución
scroll top