Question

J'utilise un modèle Microsoft pour ajouter la formation et des cours pour les inscrire. Tout fonctionne très bien, mais je veux ajouter un champ à la liste des cours. Je veux ajouter un champ pour indiquer quel type de personnel ce cours est pour, par exemple RH, santé et sécurité, administration, etc.

Je l'ai cherché partout pour trouver des réponses à cela, la documentation sur SharePoint est choquant, et je l'ai fait ce qui suit:

  • Paramètres> Créer une colonne sur la page des cours.
  • Entré tous les détails nécessaires
  • Sur DispForm, EditForm et NewForm (.aspx) ajouté à la section @fStaffType, Staff Type; DataFields. (Staff Type est le nom du field`)
  • DispForm a ajouté une nouvelle ligne pour afficher les données:

    <tr>
        <td width="190px" valign="top" class="ms-formlabel">
           <H3 class="ms-standardheader">
               <nobr>Staff Type</nobr>
           </H3>
        </td>
       <td width="400px" valign="top" class="ms-formbody">
           <xsl:value-of select="@fStaffType"/>
        </td>
    </tr>
    
  • EditForm et NewForm a ajouté une nouvelle ligne à modifier / entrer des données:

    <tr>
        <td width="190px" valign="top" class="ms-formlabel">
       <H3 class="ms-standardheader">
           <nobr>Staff Type</nobr>
       </H3>
        </td>
        <td width="400px" valign="top" class="ms-formbody">
            <SharePoint:FormField runat="server" id="ff12{$Pos}" ControlMode="New" FieldName="fStaffType" __designer:bind="{ddwrt:DataBind('i',concat('ff12',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@fStaffType')}"/>
            <SharePoint:FieldDescription runat="server" id="ff12description{$Pos}" FieldName="fStaffType" ControlMode="New"/>
        </td>
    </tr>
    

EditForm et NewForm j'obtiens l'erreur:

Erreur de rendu de contrôle - ff12description_1

Une exception non gérée est survenue. Référence de l'objet non définie à une instance d'un objet.

Si je commente la description, il affichera le premier td (Nom du champ), mais la deuxième td est juste vide.

Toute aide serait grandement appréciée!

EDIT: Un problème connexe, ne sais pas si je devrais créer une nouvelle question ou non. Mais Marc D Anderson a répondu ci-dessous et j'ai pu ajouter et afficher un nouveau champ. Cependant, je peux ajouter un nouveau cours parfaitement mais si je modifier un, et changer le champ Type de personnel, un nouveau cours sera créé au jour et l'heure. Mais si d'autres champs sont modifiés, ils modifier correctement.

Toutes les idées?

Était-ce utile?

La solution

Un grand nombre de "Fabulous 40" modèles ont personnalisé formes. (Vous aurez probablement débattre de la partie fabuleuse du nom à ce point.)

On dirait que vous faites à peu près les bonnes choses dans les formes, mais il est un peu difficile de dire où il va vers le sud sur vous.

Lorsque vous avez créé, avez-vous donné la nouvelle colonne un nom de « fStaffType »? Dans le cas contraire, c'est la question. Si vous l'avez nommé « Type personnel », le nom interne (ou StaticName) pour la colonne est « Staff_x0020_Type ». (L'espace dans le nom sera codé.) EDIT: Vous pouvez trouver le StaticName pour une colonne en allant dans les paramètres de la liste et l'édition de cette colonne. Le StaticName sera à la fin de l'URL comme paramètre de chaîne de requête. En fonction des caractères que vous avez utilisé, il peut bedouble codé, comme le personnel% 5Fx0020% 5FType.

Vous n'avez pas besoin d'ajouter la colonne DisplayName et StaticName à la section DiataFields - il ne sert pas vraiment de but évident, franchement. Vous aurez juste besoin de faire en sorte que le nom de colonne dans le SharePoint: FormField et SharePoint. FieldDescription correspond à la StaticName le nom de colonne que vous avez ajouté

La fuite « _1 » dans l'erreur fait partie du nom unique que SharePoint donne à chaque instance de cette colonne dans la page (vous pouvez autoriserons les modifications apportées à plusieurs articles dans la même forme) en ajoutant la valeur du Pos $ variable.

Autres conseils

On dirait FF12 est déjà défini ailleurs dans la page et il est probablement re-écrit avec _1 à la fin.

  1. Pouvez-vous juste essayer de glisser-déposer le champ de la source de données et laisser le chiffre designer les noms de champs?

ou

  1. Pouvez-vous essayer d'ajouter le « formulaire d'édition personnalisée » dans une autre page puis copiez le FieldDescription?

Je peut ne pas avoir lu ou obtenu une bonne compréhension de vos besoins. Pourquoi ne pas mettre en œuvre le type de contenu? Vous pourriez avoir pour fonction de vos champs personnalisés (aka colonnes) et ensemble d'attributs comme diplay sur la forme d'édition = true, show sur la vue = true (etc.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top