2009-07-01 61 views
1

editform.aspxで一部のフィールドを非表示にしたい私はこの例ではpageでしたが、 "元の" Webパーツリストを省略しませんでした。元のwebpartを隠し、元のリストから新しいカスタムリストを作成しました。それから私はカスタムリストにxslを適用してフィールドを非表示にしたり、 "読み取り専用"にしたりできました。残念なことに、定期的なイベントは動作しなくなったり、トータルが乱れていました。カレンダービューで特定のイベントをクリックしたときにエラーメッセージが表示されることがあります。カレンダーリストは正常に機能し、イベントが繰り返されていないときは、「編集モード」でフィールドが非表示または無効になります。私の質問は。カレンダーリストの特定のセキュリティグループまたは共有ポイントグループの項目を隠すか無効にする方法はありますか?Sharepointのカレンダーリスト項目フィールドを非表示にする方法

+0

この投稿のリンクを削除しました(多数のスパムフラグが取得されています)。誰かがリンクを見たい場合は、改訂履歴を確認してください。 – Justin

答えて

0

これは少し難しいと思います。そうでなければSharePoint Column View Permissionのようなサードパーティのツールはあまりないはずですが、Bambooにもそのようなツールがあります。

コードstackoverflow.com/questions/1058232でそれを実現させたい場合は、これを見てください。しかし、私はそれがカレンダーで動作するかどうかはわかりません。私はあなたが探しているものを行うには全体で実行した

0

2つのツール:

  • SPListDisplaySetting - 「(WSS 3.0とMOSS用)SharePoint機能新しい、ディスプレイにリスト形式のレンダリングをカスタマイズするための高度な設定を提供と編集モード。

特定のフィールドは、編集ページ、新規ページ、または表示ページにのみ、特定のグループにのみ、または完全に非表示にするように指定できます。

私の唯一の問題は、インストーラがうまくいかないことです。ただし、ユーザーはposted working instructions on the discussion boardです。

  • SharePoint Tool Basket - List Columns Managerは - 「この機能は、サイトコレクション管理者が隠し/読み取り専用のものも含めて、リストのすべての列を表示することができますし、このような内部名、GUID、タイプとしての列の詳細を提供します..」
+0

私はSPListDisplaySettingを見て、コメントを読んだ。私はこのプログラムが生産環境で使用されるべき多くの問題を持っていると思う。しかし、SPListDisplaySettingに問題はありましたか? – Keraj

1

SharePoint Designerがオプションの場合、このblog post from Laura Rogersは、権限レベルでSharePointフィールドを表示する方法を示しています。カレンダーリストで動作するはずです。

これにより、サードパーティ製品を必要とせずにソリューションを完全に制御できます。

+0

私は彼女の方法を試しました。残念なことに、定期的なイベントは動作しなくなったり、トータルが乱れていました。私はSharePoint List Forms Extensionsを購入することにしました。みんなあなたの助けをありがとう。 – Keraj

+1

@ArtSerebryakovありがとう、それは修正されました –

0

私はCleverworkaroundsでかなり良い解決策を見つけました。コードはJavaScriptで書かれているので、スクリプトは実際にはフィールドを削除しません。私の場合は必須ですが、フィールドを非表示にします。私は、お客様の一部の重要なデータのためにSharePointリストフォーム拡張機能に固執する必要があり、ユーザーによっては削除する必要があります。 Laura Rogersのソリューションも優れていますが、CleverworkaroundではSharepoint Designerを使用する必要はありません。

0

1つのオプションは、CodePlexからSharepoint Managerをダウンロードすることです。サーバー上にインストールすると(オブジェクトモデルを使用します)、リスト単位で特定の列が完全に隠れているかどうか(リストからでも設定)、または表示フォーム、編集フォーム、またはその両方から非表示にすることができます。真/偽のドロップダウンを設定して[保存]をクリックするのは問題です。列を読み込み専用にするオプションもあります。

あなたが選択したものは、その領域にアクセスできるすべての人に適用されます。

0

JQueryを使用してカレンダーリスト内の項目を非表示にすることができます。 - カレンダータブの[一覧のカスタマイズ]カテゴリ - > [フォームWebパーツ] - >既定の新しいフォーム - [挿入]タブを選択し、[Webパーツ]カテゴリ - > [Webパーツ]をクリックします。 - [メディアとコンテンツ]を選択し、[コンテンツエディタ]を選択して[追加]をクリックします。 - 場所フォーム以下のコンテンツエディタおよびコンテンツエディタ 内側をクリック - >マークアップカテゴリー - - テキストの書式設定]タブをクリックします> HTMLをクリックします - >編集HTMLソース は、次のコードを追加します。

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script> 
$(function() { 
$("td.ms-dttimeinput").hide(); 
$("span[title='All Day Event'] > input").attr("checked","checked"); 
$("tr:has(span[title='Recurrence'])").not("tr:has(tr)").hide(); 
$("tr:has(span[title='All Day Event'])").not("tr:has(tr)").hide(); 
$("tr:has(span[title='Workspace'])").not("tr:has(tr)").hide(); 
}); 
</script> 

上記のコードでは、「終日イベント」をtrueに設定します。 これは役に立ちます。

+0

私は試してみましたが、それは私のために働いていない –

+1

それは今働いて、実際にjqueryファイルが見つかりませんでした。

関連する問題