Building SharePoint Requêtes Voir avec Caml
Souvent, lorsque la création d'applications qui seront fortement l'utilisation des vues SharePoint pour la rotation de données qu'il est utile de construire des constructeurs CAML dans des classes séparées statique qui retourne une représentation de la chaîne en continu de la requête arbitraire. Afin de démontrer cela, considérer les exemples suivants BuildDefaultViewQuery, BuildPrivateViewQuery, et BuildPublicViewQuery:
- BuildDefaultViewQuery ( ) private string statiques BuildDefaultViewQuery ()
- (
- "<Where>" ) ; Builder. Append ( "<Where>");
- "<Eq><FieldRef Name='DefaultView' /><Value Type='Boolean'>" ) ; Builder. Append ( "<Eq> <FieldRef Name='DefaultView' /> <Value Type='Boolean'>");
- "1" ) ; Builder. Append ( "1");
- "</Value></Eq></Where>" ) ; Builder. Append ( "</ Value> </ Eq> </ Where>");
- ( ) ; retour constructeur. ToString ();
- )
- BuildPrivateViewQuery ( string user ) private string statiques BuildPrivateViewQuery (string user)
- (
- "<OrderBy><FieldRef Name='ViewName'/> </OrderBy>" ) ; Builder. Append ( "<OrderBy> <FieldRef Name='ViewName'/> </ OrderBy>");
- "<Where><Eq><FieldRef Name='ViewCreator' /><Value Type='Text'>" ) ; Builder. Append ( "<Where> <Eq> <FieldRef Name='ViewCreator' /> <Value Type='Text'>");
- user ) ; Builder. Append (user);
- "</Value></Eq></Where>" ) ; Builder. Append ( "</ Value> </ Eq> </ Where>");
- ( ) ; retour constructeur. ToString ();
- )
- BuildPublicViewQuery ( string user ) private string statiques BuildPublicViewQuery (string user)
- (
- "<OrderBy><FieldRef Name='Audience'/> <FieldRef Name='ViewName'/></OrderBy>" ) ; Builder. Append ( "<OrderBy> <FieldRef Name='Audience'/> <FieldRef Name='ViewName'/> </ OrderBy>");
- "<Where><Or><Eq><FieldRef Name='ViewCreator' /><Value Type='Text'>" ) ; Builder. Append ( "<Where> <ou> <Eq> <FieldRef Name='ViewCreator' /> <Value Type='Text'>");
- user ) ; Builder. Append (user);
- "</Value></Eq>" ) ; Builder. Append ( "</ Value> </ Eq>");
- "<Eq><FieldRef Name='Audience' /><Value Type='Choice'>" ) ; Builder. Append ( "<Eq> <FieldRef Name='Audience' /> <Value Type='Choice'>");
- "1" ) ; Builder. Append ( "1");
- "</Value></Eq></Or></Where>" ) ; Builder. Append ( "</ Value> </ Eq> </ Or> </ Where>");
- ( ) ; retour constructeur. ToString ();
- )
Il convient de noter qu'il existe certaines constantes qui pourraient au contraire être extraites à une énumération et puis Enum.GetName pourraient être utilisés pour une meilleure allocation des composants. Toutefois, dans cet exemple car il s'agit simplement de montrer les constructions sus-jacente, est maintenue intentionnellement simple.
Afin de pouvoir utiliser une des méthodes statiques CAML, la méthode ReturnCollectionExample aura certains paramètres de base, que le retour de la collection item associé à la requête BuildPrivateViewQuery.
- string url, string viewName, string userId ) private static SPListItemCollection (string url, viewName string, string userId)
- (
- (
- SPWeb web = site. OpenWeb ( ) ) en utilisant (SPWeb = site web. OpenWeb ())
- (
- Query = BuildPrivateViewQuery ( userId ) } ; var query = new SPQuery (query = BuildPrivateViewQuery (userId));
- [ viewName ] . GetItems ( query ) ; retour web. lists [viewName]. GetItems (query);
- )
- )
- )
Pas de commentaire »
Pas encore de commentaires.
Flux RSS pour les commentaires sur ce post. TrackBack URL






























