マスターの実装 / カスタム リストを使用して詳細の関係

として頻繁にフォーラムのユーザー このような質問:

> こんにちは,
>
> 任意のカスタム リストを作成する可能性があるかどうかを教えてください。
> マスターと詳細の種類 (請求書のような) InfoPath を使用せず.
>

SharePoint は、いくつかのようなビジネス要件の種類をサポートするボックス機能を提供します.

一般的に, ルックアップ列を使用して 2 つのリストのリンク 1 つ. 一覧は、請求書ヘッダー情報を含む、リスト B に請求書の詳細が含まれています.

顧客番号を維持するために追加のリストを使用してください。, 製品番号, など.

コンテンツ クエリ web パーツを使用します。 (MOSS のみ) データ ビューのリストのマージされたビューを作成する web パーツおよび/または. SQL Server レポート サービス (SRS) それの報告の側にも.

ただし, でも、適度に複雑なものの純粋なボックスの機能を使用することは困難になるいくつかの重要な制限があります。. これらが含まれます:

  • 関連する参照のサイズ対を一覧します。. "粋" ルックアップ列の型の. ルックアップ列の型は、それ自身を示すかどうかに応じて異なる UI で有効にした複数選択か. いずれの場合で, ボックスのコントロールは、ソースの一覧からすべての利用可能な項目を示しています. ソース リストがある場合 1,000 項目, 問題が起こっています。. これらのアイテムを検索コントロールをページングしません。. 代わりに, それは、コントロールにそれらのすべてを引っ張る. それは非常に厄介なユーザー インターフェイス データ エントリとパフォーマンスの両面になります.
  • ルックアップ"プル戻る" 1 列のデータ. 決して、ソース リストからの情報の 1 つ以上の列を再び引き出すことができます。. 例えば, "12345 顧客を選択することはできません。" 同時に番号と同様、顧客の名前とアドレスを表示. ルックアップは、顧客数と何もないです。. これは、厄介な困難なユーザ ・ インタ フェース.
  • フォーム内の通信なし. これについてここで書いた. カスケードのドロップダウン リストを実装することはできません。, 条件付きで有効/無効なフィールド, など.
  • 組み込みの参照整合性・連鎖削除は一切. SharePoint のカスタム リストを独立したエンティティとして扱うし、従来の ERD 感覚でお互いにそれらをリンクすることはできません。. たとえば, SharePoint では、2 つのカスタム リストを作成することができます。, "顧客" 「請求書ヘッダー」. 顧客リストの請求書ヘッダーの顧客に戻るリンクを作成できます。. [, 一覧から顧客を削除することができます。. ボックスのうち, この問題を回避する方法はありません。. この種の問題を解決するために, 通常のイベント ハンドラーを使用します。.

荒涼としたように見えることがあります。, しかし、私はまだ、このような機能を構築するための出発点として SharePoint を使用. ソリューションに必要なものの間のギャップがありますがあります, SharePoint などのツールを使用してこれらのギャップを記入することができます。:

  • イベント ハンドラー. それらを使用して、参照整合性を適用するには.
  • カスタム列: カスタムの列型を作成し、既定のルックアップ列の代わりに使用. ページングを追加します。, バッファリングと応答性を AJAX 機能.
  • BDC. このコケだけの特性により通常ルックアップ列に優れたユーザー インターフェイスを持つ他の SharePoint リストのクエリに. BDC がバックエンド サーバー アプリケーションに到達します。. BDC を使用して、レプリケーションを避けるために. バックエンド ERP システムから顧客情報を複製するのではなく, BDC を使用して、代わりに. BDC 機能はそれが属しているし、レプリケーション ・ ソリューションを維持する手間を回避 ERP システムから直接情報をプルする素晴らしいユーザー ・ インターフェースを提供します。.

    BDC は MOSS 機能です。 (WSS では利用できません。) および構成に挑戦.

  • ASP.NET web フォーム: 作成する、フル機能を備えた AJAX 対応フォームを SharePoint オブジェクト モデルおよび web サービスを使用して非常に応答性の高いユーザー インターフェイスを提供しながら SharePoint リストを活用するには.

最後のオプションはゼロから開始しているように感じることがあります。, しかし、事実を SharePoint プラットフォーム オフに開始されます、次の主要機能を検討します。:

  • メンテナンスとセキュリティ モデル.
  • メニュー システムのメンテナンス.
  • "マスター テーブル" (すなわち. カスタム リスト) セキュリティ, 組み込みの保守および監査.
  • 検索.
  • バックエンド統合ツール (BDC).

Visual studio で新しい空のプロジェクトを開始する場合, インフラストラクチャおよび SharePoint が提供するものの近くで得る前に構築する配管のたくさんあります。.

Microsoft は、アプリケーション開発のこの方向で SharePoint を拡張しようとは思います. 既存の SharePoint をベースに自然な拡張のように思える. マイクロソフトの CRM アプリケーション ヘッダー/詳細アプリケーション開発をサポートするために必要な型の拡張機能の多くを提供しています. これらの機能は、CRM が, 技術は明らかに SharePoint 開発チームが利用できるとの終わりによって SharePoint 製品にその方法を作るがそれだと思う 2008. 誰もがある知識や洞察力この場合, くださいコメントを残す.

</終了>

5 「上の思考マスターの実装 / カスタム リストを使用して詳細の関係

  1. ポール Galvin

    Raghu, そのように簡単な方法があるとは思わない. 多分それらを与えるそれらの 1 つを使用するコンテンツの名前を持つヒント入力自体とユーザーのトレーニングに焦点を当てるだろう. 本当にこの 1 つを爪ができるとは思わない, 技術的に.

  2. Raghu 書いた:
    上記 commnet で説明したように 2 つのコンテンツ タイプとカスタム リストを使用して親/子 realationship を作成しています. しかし、私は問題を抱えています。; Item コンテンツ タイプ利用できないフォルダー レベルとフォルダー コンテンツ タイプ アイテム レベルで使用できないようにする必要があります。. この 1 つに私を導いてください。. おかげで…
  3. マイケル ヴィッカース

    その場しのぎのビットが影をルックアップ"ドロップダウンを ASP.Net ドロップダウンを使用します。" SharePoint によって生成されます。. 参照項目を含むリストに基づくデータ ソースを ASP.Net ドロップダウンを] ポイントします。, 値と私の好みの列として表示テキストとして"ID"フィールドを使用することができます。. 私はバインドしない ASP.Net ドロップダウン ルックアップ リスト フィールドにサーバー側のエラーを生成するため.

    ページのロード時に ASP.Net ドロップダウンに正しい値を割り当てる java スクリプトの設定を使用します。, 対応する SharePoint 検索ドロップダウン リストに新しい値を割り当てることのドロップダウンに onchange イベントをアタッチ. 私は実際に SharePoint のドロップダウンを含む行を非表示します。.

    最後のもの — 過去の項目の数を取得する方法のため SharePoint 間抜けな検索ドロップダウンを表示します。 20 カスタム ラッパー オブジェクト ドロップダウン リスト値を取得/設定を使用します。. ここでそのプロセスを詳述したブログの記事をあります。:

    http://www.idiotsyncrasies.com/2007/12/lookup-list-dropdowns-in-sharepoint.aspx

    歓声,

    マイケル

  4. デビッド

    フォルダー コンテンツ タイプに基づいて請求書のヘッダーのコンテンツ タイプを作成して別の請求書のコンテンツ タイプを作成し、両方を SharePoint リストに追加. これは、有効で親/子関係を複数の請求書、請求書のコンテンツ タイプに基づくではあなたを与える、請求書のヘッダーのコンテンツ タイプの下で暮らすことを作成することができるとインスタント関係 2 つの項目を作成し、リスト アイテムが請求書ヘッダー削除されるフォルダー内のすべての子請求書項目は削除されます。. また、コンテンツ タイプからのみ利用できます、特定のフォルダー内を指定できます。. このアプローチは議論ライブラリの動作し、アイテム間の関係のこのタイプの非常に便利ですに似ています. イベント ハンドラーとコードに役立ついくつかその他の制限が、全体的に簡単な簡単な解決策.

メッセージを残してください

あなたのメールアドレスが公開されることはありません. 必須フィールドは、マークされています *