Problema nella visualizzazione dei valori delle proprietà personalizzate per i tipi di campi personalizzati di SharePoint

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

Domanda

Sto cercando di creare un tipo di campo personalizzato in SharePoint (WSS 3.0) con proprietà personalizzate. Ho creato il mio file fldtypes * .xml basato sui documenti SDK e questo post sul blog e sembra funzionare bene e posso recuperare i valori delle proprietà personalizzate nel mio codice. Il mio problema è che dopo la creazione iniziale del campo, se torno alla pagina delle impostazioni dell'elenco e faccio clic sul mio campo appena aggiunto, il modulo mostra le mie proprietà personalizzate con un valore che non lo sto fornendo. Ad esempio, se il nome visualizzato della mia proprietà personalizzata è " My Custom Prop " quindi il valore nella sua casella di testo sarà " Il mio valore del campo Prop personalizzato " ;.

La mia domanda è questa: come posso mostrare correttamente i valori di stringa effettivi dei miei tipi di proprietà personalizzati in queste caselle di testo?

Ecco il mio file 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>

Ed ecco il codice per la mia classe di tipo di 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); }
    }

}

Che cosa posso fare per visualizzare i valori corretti delle proprietà personalizzate nella mia " Modifica colonna " pagina (FldEditEx.aspx) nella mia app di SharePoint?

È stato utile?

Soluzione

Esiste un problema ben noto con salvataggio e recupero di proprietà personalizzate su un tipo di campo personalizzato. Ecco un link diretto a aggirare .

a proposito, alcuni dei commenti sul post sostengono lo stesso problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top