2010-02-05 6 views
4

J'ai travaillé sur code .Il fonctionne avec succès. Mais le problème auquel je fais face est:Sharepoint UpdateList Méthode: Les colonnes nouvellement créées ne sont pas visibles

Les nouvelles colonnes ne sont pas visibles dans la liste (j'ai essayé avec With Setting requis = "TRUE").

J'ai essayé avec la valeur de champ compair des colonnes visibles et non-visibles. La différence que j'ai trouvée est: Les colonnes visibles (créées manuellement) ne contiennent pas de valeur de version. wereas colonnes que je crée l'avoir. J'ai donc essayé de passer la valeur nulle à "ndVersion.Value".

Mais cela ne fonctionne toujours pas et met automatiquement de la valeur à la version.

Pouvez-vous m'aider?

J'ai essayé Solution donnée Here.

Mais cela n'a pas fonctionné à nouveau. :(

Répondre

0

Essayez avec la mise en propriété ReadOnly « FAUX »

+0

je l'ai essayé also.but ça ne marche toujours pas. – Preeti

2

Il y a en fait plusieurs choses qui arrivent lorsque vous ajoutez une colonne à une liste dans le navigateur:

  • champ est ajouté à la liste
  • champ est ajouté à la liste des types de contenu
  • champ est ajouté à la vue par défaut

Lorsque vous ajoutez une colonne en utilisant le code, vous ne pouvez modifier la liste, mais pas le type de contenu (qui définit des formes nouvelles/modifier) ​​ou la vue (qui définit une vue sur la liste)

   var field = list.Fields[fieldName]; 

       var ctype = list.ContentTypes[contentTypeId]; 
       var fieldref = new SPFieldLink(field); 
       ctype.FieldLinks.Add(fieldref); 
       ctype.Update(); 

       var view = list.Views[viewName]; 
       view.ViewFields.Add(field); 
       view.Update(); 
+0

Thanx Tom, Mais je ne sais pas comment modifier "type de contenu et vue" de la liste? Peut provice moi des liens de code d'échantillon? – Preeti

+0

J'ai ajouté du code - vous devrez le développer en fonction de vos besoins bien sûr, mais ces collections/objets devraient vous donner un bon point de départ. –

0

Je voudrais utiliser le modèle d'objet fourni à l'aide Microsoft.SharePoint.dll au lieu d'utiliser les services Web.

Il existe des problèmes dans Sharepoint lorsque vous ajoutez de nouvelles colonnes au type de contenu que les modifications ne sont pas toujours répercutées dans les listes. Je pense que l'interface utilisateur Sharepoint le fait pour vous lorsque vous modifiez un type de contenu, mais lorsque vous le faites vous-même dans le code, vous devez vous assurer que vos modifications sont répercutées dans les listes.

Il y a 2 façons d'ajouter des données de type de contenu à une liste programme

  • via schema.xml -> Ensuite, vous devez laisser la liste hériter de votre type de contenu, mais vous avez toujours la liste toute la les champs que vous souhaitez utiliser à partir de votre type de contenu.
  • via le code -> Ajouter votre champ au type de contenu, mais vous devez ajouter le type de contenu à la liste à nouveau pour vous assurer que tous les champs sont renseignés dans la liste
Questions connexes