Question

J'essaie de créer une requête CAML pour une liste dans SP.

J'ai envisagé d'utiliser les pages de vue Modifier pour créer une vue de base comprenant un filtre, puis d'utiliser du code pour examiner le prop de requête du SPView:

string t = dataList.Views["MyView"].Query;

Mais CAML in t ne contient aucun élément Where. Juste la commande de

<OrderBy>
    <FieldRef Name="ID" />
</OrderBy>

Comment SharePoint stocke-t-il le CAML pour les filtres de vue?

Était-ce utile?

La solution

Bizarre.

Parce que si vous examinez le schéma de liste intégré (par exemple, le schéma de liste de tâches, vous pouvez le trouver dans C: \ Programmes communs \ Fichiers communs \ Microsoft partagés \ Extensions serveur Web \ 12 \ TEMPLATE \ FEATURES \ TasksList \ Tasks \ schema.xml ) il y a une clause Where dans l'élément Query:

<View>
*....*
    <Query>
      <OrderBy>
        <FieldRef Name="Modified" Ascending="FALSE">
        </FieldRef>
      </OrderBy>
      <Where>
        <Or>
          <Neq>
            <FieldRef Name="Status">
            </FieldRef>
            <Value Type="Text">$Resources:core,Tasks_Completed</Value>
          </Neq>
          <IsNull>
            <FieldRef Name="Status">
            </FieldRef>
          </IsNull>
        </Or>
      </Where>
    </Query>
  </View>

Oh, vous pouvez essayer SPCamlViewer pour examiner votre point de vue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top