2010-10-27 8 views
5

Ho creato un tipo di campo personalizzato (derivato da SPFieldText) e aggiunto una proprietà personalizzata "MiaProprietà". Ora quello che sto cercando è, ho bisogno di utilizzare questo tipo di campo nella mia funzione di tipo di contenuto.Imposta proprietà personalizzate per un tipo di campo personalizzato all'interno di una funzione di tipo di contenuto

Come specificare la proprietà personalizzata all'interno di un file di definizione del tipo di contenuto, proprio come facciamo con i tipi di campo OOB?

Ho visto una soluzione alternativa here ma risolve solo il problema della convalida XSD. La colonna del sito viene installata correttamente ma il valore che ho specificato nella funzione non è impostato per la colonna dopo l'installazione della funzionalità.

Grazie in anticipo

Arun

risposta

1

Smth come questo

<Field ID="{aec8cea1-d0df-49fc-baef-d356e58423f4}" Name="ClientWorkspace" DisplayName="$Resources:Nervogrid.Lauxtermann.Root,FieldWorkspaceDisplayName;" Type="ExtendedWorkspace" Group="$Resources:Nervogrid.Lauxtermann.Root,GroupLauxtermannFields;" AllowDuplicateValues="FALSE"> 
    <Customization> 
     <ArrayOfProperty> 
     <Property> 
      <Name>SiteTemplates</Name> 
      <Value xmlns:q1="http://www.w3.org/2001/XMLSchema" p4:type="q1:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">;#12203;#</Value> 
     </Property> 
     <Property> 
      <Name>HideOnDisplayForm</Name> 
      <Value xmlns:q2="http://www.w3.org/2001/XMLSchema" p4:type="q2:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">$Resources:core,fld_no;</Value> 
     </Property> 
     <Property> 
      <Name>HideOnEditForm</Name> 
      <Value xmlns:q3="http://www.w3.org/2001/XMLSchema" p4:type="q3:string" xmlns:p4="http://www.w3.org/2001/XMLSchema-instance">$Resources:core,fld_yes;</Value> 
     </Property> 
     </ArrayOfProperty> 
    </Customization> 
    </Field> 
1

Questo ha funzionato per me

 <Field ID="{EB4A62A3-5722-4D12-9AB8-BB36461D8E5D}" Type="MyCustomFieldType" Name="Website" DisplayName="Website" StaticName="Website" Required="true"> 
     <Customization> 
      <ArrayOfProperty> 
      <Property> 
       <Name>MyFirstProperty</Name> 
       <Value>www.stackoverflow.com</Value> 
      </Property> 
      <Property> 
       <Name>MySecondProperty</Name> 
       <Value>stackoverflow</Value> 
      </Property> 
      </ArrayOfProperty> 
     </Customization> 
     </Field> 

è possibile accedere alla proprietà nella classe di convalida in questo modo:

string myFieldValue = ((XmlNode[])this.GetCustomProperty("MyFirstProperty"))[0].Value; 
Problemi correlati