0

唯一の項目タイプがフォルダーであるリストを実装しようとしています。誰かが [新規] をクリックすると、フォルダ名と説明を入力し、ドロップダウン メニューから [アクティブ] または [非アクティブ] を選択できるフォームが表示されます。フォルダー内には、2 列のみの単純なリストが必要です。

必要な列を含むカスタム フォルダー コンテンツ タイプを作成し、それを既定のコンテンツ タイプにしようとしました。これは、フォルダのリストを作成するために機能するようです。フォルダー内に移動して、内部ビュー/リスト設定を変更しようとすると (フォルダー内でカスタム フォルダー コンテンツ タイプを使用したくない... 2 つの単純な列が必要なだけです)、リストの設定が変更されます。フォルダも。内部リストが親とは異なる設定を持つ方法はありますか?

4

2 に答える 2

1

この問題がまだ関連しているかどうかはわかりませんが、他の誰かが私の答えを役に立つと思うかもしれません。

以前は、ルートにフォルダーのみを含むリストを実装していました。これにより、アイテム ベースのコンテンツ タイプをいくつか含むことができます。FeatureActivated イベントと ItemAdded イベントには 2 つのイベント レシーバーがあり、それぞれリスト ルート フォルダーと作成中のフォルダーの UniqueContentTypeOrder プロパティ (ユーザーが作成できるコンテンツ タイプのリスト) を変更します。このような:

List<SPContentType> ctl = new List<SPContentType>();
foreach (SPContentType ct in lst.ContentTypes) if (ct.Id.IsChildOf(SPBuiltInContentTypeId.Folder)) ctl.Add(ct);
lst.RootFolder.UniqueContentTypeOrder = ctl;
lst.RootFolder.Update();

また、ビュー定義に ContentTypeID 属性を指定することで、ルート フォルダーとそこに含まれるフォルダーに使用可能なさまざまなリスト ビューを指定しました。

于 2013-01-18T07:13:23.630 に答える
0

残念だけど違う。SharePoint はリストであり、リレーショナル データではないため、複数のコンテンツ タイプを許可するしかありません。リストで使用できるコンテンツ タイプは、リスト全体 (ルートおよびサブフォルダー) で使用できます。

達成しようとしていることをモデル化する 1 つの可能性は、SharePoint 2010 Enterprise に依存しています。Infopath では、リストの新しいアイテム フォームをカスタマイズできます。最上位のフォルダーとフォルダー内のリスト アイテムのみを許可するようにフォームを編集することは可能かもしれませんが、確かなことはわかりません - Infopath でリスト フォームをカスタマイズしてからしばらく経ちました。

于 2012-05-11T20:09:10.083 に答える