Ajouter des champs à Nouveau formulaire / Modifier avec définition de liste personnalisée (bibliothèque de documents)

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/8485

Question

Je suis en utilisant le modèle de Visual Studio 2010 « Définition de liste » pour créer une nouvelle définition de la liste pour une bibliothèque de documents.

fantaisie Rien du tout - je veux seulement ajouter quelques champs à la liste et à la vue par défaut. Ajout des champs à <Fields> dans schema.xml et le <FieldRef> respectif <Views> est pas un problème, donc j'ai la liste avec mes champs personnalisés.

Je ne peux pas les amener à se manifester dans les formes Nouveau / Modifier. Je pensais que ShowInDisplayForm="TRUE" et ShowInNewForm="TRUE" était le chemin à parcourir, mais il ne semble pas faire quoi que ce soit - alors je me suis dit que le nouveau modèle de définition de liste ajoute son propre « Upload.aspx, FileDlg.htm, EditDlg.htm »

.

J'ai essayé de mettre <ows:ListProperty Select="MyColumn"> en EditDlg.htm. Pas de changement. Maintenant, j'ai vu que VS2010 met beaucoup de code dans le schema.xml sous <Form Type="NewFormDialog" Path="EditDlg.htm"> qui commence par <ListFormOpening>.

Ma question: Comment travailler avec le modèle VS ajouter mes champs personnalisés à tous les dialogues pertinents (Modifier / Nouveau / Voir)

?


EDIT: compris comment résoudre ce problème en supprimant la référence <ContentTypes> du Schema.xml comme décrit ici . Je ne comprends toujours pas que ce soit la bonne façon de le faire comme je l'ai maintenant supprimé le type de contenu de la bibliothèque (alors que je peux encore ajouter des documents très bien ...). quelqu'un Explication?

Était-ce utile?

La solution

Le « problème » est que chaque liste et bibliothèque est lié à un type de contenu. Malheureusement, Microsoft hided qu'en désactivant « Autoriser la gestion de contenu de type » par défaut. Lorsque vous créez un nouveau champ comme vous l'avez fait est ajouté à la liste, mais pas lié au type de contenu de la liste dépend. Si vous allez dans les paramètres de la liste et d'activer la gestion des types de contenu, vous pouvez ajouter les nouveaux « champs de liste » pour le type de contenu et vous les verrez.

Meilleure approche pour l'ajout de champs à un modèle de liste est de créer vos propres champs et les ajouter à un type de contenu. Ensuite, vous créez le modèle de liste en fonction de ce type de contenu (facile avec VS) ou d'ajouter ce type de contenu à la liste aussi.

Autres conseils

Retrait de la référence ContentTypes est pas nécessairement la bonne façon, mais je suis sûr qu'il est dans le mauvais sens. Ils sont là pour une raison.

Vous avez deux options. Tout d'abord, vous pouvez créer un type de contenu et préciser les champs de cette façon. Voir http://msdn.microsoft.com/en-us/library/ff728096. ASPX des informations sur la façon de construire la liste personnalisée à travers un type de contenu.

Deuxièmement, vous pouvez utiliser le type de liste personnalisée et il suffit d'ajouter vos propres champs.

  1. Après avoir ajouté une définition de liste blanche au soluiton par Visual Studio, ajouter dans tout ce que vous voulez champs que dans la section <Fields />.

  2. Remplacez le ContentTypeRef pour ID 0x01 (article) avec un nouveau SUPPR. Voir ce billet de blog pour un échantillon et une explication complète. http://jopx.blogspot.com/2007 /05/sharepoint-2007-how-to-create-custom.html

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