Problema exibindo valores de propriedade personalizados para os tipos de campos personalizados do SharePoint
-
03-07-2019 - |
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?
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.