Bonjour,

J'essaie de faire mon premier Custom Type Field et je reçois toujours le message LE type ... bn'est pas correctement installé lorsque je crée une colonne avec ce type. J'ai réduit le code au maximum et le problème persiste.

Le fichier xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
<?xml version="1.0" encoding="utf-8" ?>
<FieldTypes>
  <FieldType>
    <Field Name="TypeName">ReferenceTextField</Field>
    <Field Name="ParentType">Text</Field>
    <Field Name="TypeDisplayName">Text Reference</Field>
    <Field Name="TypeShortDescription">Reference to another column in another list</Field>
    <Field Name="UserCreatable">TRUE</Field>
    <Field Name="Sortable">FALSE</Field>
    <Field Name="AllowBaseTypeRendering">TRUE</Field>
    <Field Name="Filterable">FALSE</Field>
    <Field Name="ShowInDisplayForm">TRUE</Field>
    <Field Name="ShowInEditForm">TRUE</Field>
    <Field Name="ShowInListSettings">TRUE</Field>
    <Field Name="ShowInNewForm">TRUE</Field>
    <Field Name="ShowInVersionHistory">TRUE</Field>
    <Field Name="ShowInViewForms">TRUE</Field>
    <Field Name="FieldTypeClass">Applications.Flowdos.Sharepoint.ReferenceTextField,SharepointReferenceType, Version=1.0.0.0, Culture=neutral, PublicKeyToken=86616b56abf8c5dd</Field>
    <PropertySchema>
      <Fields></Fields>
    </PropertySchema>
    <RenderPattern Name="DisplayPattern">
      <Column/>
    </RenderPattern>
  </FieldType>
</FieldTypes>
La classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Namespace Applications.Flowdos.Sharepoint
 
    Public Class ReferenceTextField
        Inherits SPFieldText
 
        Public Sub New(ByVal fields As SPFieldCollection, ByVal fieldName As String)
            MyBase.New(fields, fieldName)
        End Sub
 
        Public Sub New(ByVal fields As SPFieldCollection, ByVal typeName As String, ByVal displayName As String)
            MyBase.New(fields, typeName, displayName)
        End Sub
 
        Public Overrides Function GetFieldValue(ByVal value As String) As Object
            Return MyBase.GetFieldValue(value)
        End Function
    End Class
End Namespace
La méthode GetFieldValue est celle que je souhaite adapter au finale.