2009-06-02 16 views
1

ルートWebアプリケーションにあるWebパーツに含まれるリストビューを使用して、ドキュメントライブラリのコンテンツを表示することはできません。ここでリストビューのWebパーツを別のサイトのリストに表示

は、サイトの構造である:

 
main_site 
    subsite1 
     Shared Documents 
    subsite2 
     Shared Documents 

私のWebパーツはmain_siteに位置しています。

Sharepoint ListViewWebPartには、たとえば、subsite1の共有ドキュメントを表示したいのですが、動作していないようです。私は次のエラーを取得する:奇数は何

List does not exist

The page you selected contains a list that does not exist. It may have been deleted by another user.

は、私がデバッグするとき、私はSPListが正しく初期化され、私のリストの要素が含まれていることを見ることができるということです。しかし、Controls.Add(mylistview)という行はエラーが発生した場所です。ここで

は、私は私のリストビューにリストをバインドするために使用するコードです:

SPList list = SPContext.Current.Site.AllWebs["subsite1"].Lists["Shared Documents"]; 

ListView lv = new ListView(); 
lv.ListId = list.ID.ToString(); 
lv.ViewId = list.DefaultView.ID.ToString(); 
lv.DataBind(); 

this.Controls.Add(lv); 

誰かがこの問題に対する論理的な、について説明し、解決策を持っていますか?

答えて

3

問題は、リストが別のサイトにあることです。

ListViewWebPartを使用して、同じサイトコレクション内の別のサイトのリストを参照することはできます。これを行うには、WebIdプロパティを使用する必要があります。ここにはa code exampleがあります。

もう1つの選択肢は、SharePoint Designerを使用してデータビューWebパーツを作成することです。これにより、別のサイトまたはSharePoint Webサービスのリストを使用してデータを取り込むことができます。結果はリストビューのWebパーツと似ており、使用できる強力な機能がいくつかあります。これはこれを実証するfirst blog post I foundであり、いくつか他のものがあるはずです。

最後に、コンテンツクエリWebパーツを使用できます。あなたはおそらくこれをすでに知っていて、本当にデータを表示したり操作したりすることはありません。

誤った情報を削除するように編集されました。

+0

これは私が恐れていたものです。 「プロパティの編集、プロパティの表示、送信先の指定...」機能を維持したいということです。 データビューWebパーツを使用してこのようなことを行うことはできますか、それとも多くのカスタマイズが必要ですか? thx in advance – GillouX

+0

XSLトランスフォーム(CQWPなど)を使用してレンダリングするので、そこで多くのパワーを得ることができます。しかし、あなたが探している箱のものは、いくつかの作業が必要であるか、不可能です(私はそれを行うために 'Send To'を考えています)。 –

+0

私はそれを行うために、より深いカスタマイズや完全なカスタムインターフェイスを探すつもりです。情報については thx – GillouX

関連する問題