Problema exibindo valores de propriedade personalizados para os tipos de campos personalizados do SharePoint

StackOverflow https://stackoverflow.com/questions/608031

Pergunta

Eu estou tentando criar um tipo de campo personalizado no SharePoint (WSS 3.0) que tem propriedades personalizadas. Eu criei meus fldtypes * .xml com base nos docs SDK e este post e parece tornar bem e eu posso recuperar os valores de propriedade personalizada dentro do meu código. Meu problema é que, após a criação de campo inicial, se eu voltar para a página de configurações da lista e clique em meu campo recém-adicionado, os espectáculos de formulário minhas propriedades personalizadas com algum valor que não estou fornecendo-lhe. Por exemplo, se o nome de exibição da minha propriedade personalizada é "My Custom Prop", então o valor em sua caixa de texto será "My Custom Prop valor do campo".

A minha pergunta é esta: como posso mostrar corretamente os valores de cadeia real de meus tipos de propriedade personalizada nestas caixas de texto

Aqui está o meu fldtypes * .xml:

<?xml version="1.0" encoding="utf-8"?>
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">MyCustomField</Field>
    <Field Name="TypeDisplayName">My Custom Field</Field>
    <Field Name="TypeShortDescription">MyCustomField</Field>
    <Field Name="ParentType">Text</Field>
    <Field Name="UserCreatable">TRUE</Field>
    <Field Name="FieldTypeClass">MyCustomField.CustomFields.MyCustomField, MyCustomField, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d772gbab82fe6996</Field>
    <PropertySchema>
      <Fields>
        <Field Name="MyCustomProp" DisplayName="My Custom Prop" Type="Text" MaxLength="50" DisplaySize="30" />
      </Fields>
    </PropertySchema>
  </FieldType>
</FieldTypes>

E aqui está o código para minha classe tipo de campo:

public class MyCustomField : SPFieldText
{
    private string propval;

    public MyCustomField(SPFieldCollection fields, string fieldName)
        : base(fields, fieldName)
    {
    }

    public MyCustomField(SPFieldCollection fields, string typeName, string displayName)
        : base(fields, typeName, displayName)
    {           
    }

    public override void Update()
    {
        // I can see any updated value here
        propval = GetCustomProperty("MyCustomProp") as string;
        base.Update();
    }

    public override Type FieldValueType
    {
        get { return typeof (string); }
    }

}

O que posso fazer para ver os valores de propriedades personalizadas corretas em minha página "Change Column" (FldEditEx.aspx) em meu aplicativo SharePoint?

Foi útil?

Solução

Há um problema bem conhecido com salvar e recuperar as propriedades personalizadas em um tipo de campo personalizado. Aqui está um link direto para o trabalho em torno .

btw, alguns dos comentários sobre o significado pós o mesmo problema.

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