2012-03-15 15 views
0

最新のアナウンスリストアイテムを表示するためのビジュアルWebパーツを作成しようとしています。カスタムAnnouncementListItem Sharepoint 2010のビジュアルWebパーツ

リンクの上に表示するアナウンスメントリストのアイテムタイトルと、そのすぐ上に表示される添付ファイル(写真のみ)が必要です。私は最新の発表を表示できるようにWebパーツを15〜20分ごとにリフレッシュする予定です。

私はどのように、これらのアイテムを表示するのに最適なaspコントロールとページデザインを知っていません。ここで

は、私が持っているコードの残りの部分とCAMLクエリです:

using (SPSite oSPsite = new SPSite("http://mySharePointWebApp:Port#/")) 
     { 

      using (SPWeb oSPWeb = oSPsite.OpenWeb()) 
      { 
       oSPWeb.AllowUnsafeUpdates = true; 

       // Fetch the List 
       SPList list = oSPWeb.Lists["Announcements"]; 

       SPQuery spQuery = new SPQuery(); 
       //spQuery.Query = "<Where> <Eq> <FieldRef Name='Title' /> <Value   Type='Text'></Value> </Eq> </Where>"; 
       spQuery.Query = ""; 
       spQuery.RowLimit = 5; 

       // Show item in text box 
       SPListItemCollection oListCollection = list.GetItems(spQuery); 
       foreach (ListItem oListItem in oListCollection) 
       { 
        // **What should I go with here?** 
       } 

      } 
     } 

答えて

1

あなたはリストボックスのようにRepeaterコントロールを使用すると、項目テンプレートを使用して、それをカスタマイズすることができます。

<asp:ListBox> 
    <item template> 
     <div> 
     <image control/> 
     <text control/> 
     </div> 
    </item template> 
</asp:ListBox> 

最新の5つのアナウンスを入手するには、CAML SPQueryを使用してIDで上位5個のアイテムを降順で取得します。 アナウンスの添付ファイルが存在するかどうかを確認してください。そうであれば、添付ファイルのURLを取得し、拡張子を調べてイメージタイプかどうかを確認します。

イメージが存在する場合は、添付ファイルの相対URLをアイテムテンプレートのイメージコントロールに割り当てます。画像なしのアナウンスの場合は、画像コントロールを非表示にするか、URLを共通画像に割り当てるかを選択できます。

Linq to SharePointを使用して、最新の5件のアナウンスを取得することもできます。コードは次のようになります

var top5Announcements = (From a in siteDataContext.Announcements OrderBy a.id descending select a).Take(5) 
+0

入力のためのおかげです。実際のプログラミングには本当に新しいですが、リストボックスコントロールへのlinqやCAMLのクエリを実際にデータバインドする方法についてもう少し詳しく説明できますか? – user1266515

関連する問題