0

ユーザーのマネージャー (1 行のテキスト) を保持するために、「マネージャー」という名前の列を持つ SharePoint 2007 カスタム リストがあります。

新しいアイテムを作成するとき、NewForm.aspx がユーザーのマネージャーで Manager フィールドを自動生成するようにします。

以下の Marc のブログのように、JQuery を使用してリスト フォーム フィールドを自動生成し、Web サービスとして公開されている SharePoint の「ユーザー情報リスト」にアクセスできることを私は知っています。

http://sympmarc.com/2010/04/29/populating-a-sharepoint-list-form-with-the-current-user-information/

私の問題は、マネージャーが「ユーザー情報リスト」に保存されていないため、上記のように取得できないことです。誰かアイデアはありますか?

ありがとう、ナビ

4

1 に答える 1

0

とても簡単です。「listName」の下に「CAMLQuery」、「CAMLRowLimit」、「CAMLViewFields」を宣言する必要があります。これについては、次のコード例で説明します。

リストのビューから CAMLQuery を取得できます。sharepoint Designer でフォームを開き、ビュー リスト anuncio.aspx を開いて、次のコードを見つけました。

<View Name="your list name">
<Query> 
<OrderBy>
        <FieldRef Name="Title" Ascending="FALSE"/>
</OrderBy>
    </Query>
<ViewFields>
    <FieldRef Name="Title"/>
    <FieldRef Name="Body"/>
    <FieldRef Name="Expires"/>
</ViewFields>
    <RowLimit Paged="TRUE">30</RowLimit>
    <Toolbar Type="Standard"/>
</View>

次に、必要に応じて JavaScript コード内のクエリ caml を分割するか、ビュー リストのクエリを実行します。

   var fields ="<ViewFields>"+
        "<FieldRef Name='Title'/>"+
        "<FieldRef Name='Body'/>"+
        "<FieldRef Name='Expires'/>"+
          "</ViewFields>";
   var query = "<Query>"+ 
             "<OrderBy>"+
               "<FieldRef Name='Modified' Ascending='FALSE'/>"+
             "</OrderBy>"+
               "</Query>";

変数に CAMLQuery を設定したら、スクリプトを変更します。

    $(document).ready(function() {


       $().SPServices({
         operation: "GetListItems",
         async: false,
         listName: "Your List name",

         CAMLViewFields: fields,
            CAMLQuery: query,   


            completefunc: function (xData, Status) {

             $(xData.responseXML).SPFilterNode("z:row").each(function() {

                var liHtml = "<tr> <td>" + $(this).attr("ows_Title") + "</td> </tr>";


                 $("#tasksUL").append(liHtml);

        });
      }
    });


   });


   </script>
   <table id="tasksUL"/>
于 2012-08-24T15:41:28.800 に答える