コンピュータ可読記憶媒体であって、その内容は、グラフィック視覚化プログラムのインスタンスを実行することであって、前記グラフィック視覚化プログラムは、描画面を有し、前記描画面にダイアグラムを表示するよう動作可能である、前記実行することと、前記グラフィック視覚化プログラムの前記インスタンスの範囲において、第1の外部データソースからデータをインポートすることと、前記グラフィック視覚化プログラムの前記インスタンスの範囲において、前記第1の外部データソースから前記インポートされたデータを、第1の2次元テーブルとして、対話ディスプレイに表示することであって、前記第1の2次元テーブルは、0、1つ、または複数の行と、0、1つ、または複数の列とを有する表示することを、コンピュータが行うようにし、したがって、前記対話ディスプレイ内の前記2次元テーブルにおける少なくとも1つの行を、ダイアグラム内の既存または新規の形状に関連付けることができるようにすることとをコンピュータが行うようにすることを特徴とするコンピュータ可読記憶媒体。前記グラフィック視覚化プログラムの前記インスタンスの範囲において、第2の外部データソースからデータをインポートすること、前記グラフィック視覚化プログラムの前記インスタンスの範囲において、前記第2の外部データソースから前記インポートされたデータを、第2の2次元テーブルとして、前記対話ディスプレイに表示することを、前記コンピュータが行うようにする内容をさらに含み、したがって、前記対話ディスプレイは、前記第1の外部データソースから前記インポートされたデータ、または、前記第2の外部データソースから前記インポートされたデータを表示することを特徴とする請求項1に記載のコンピュータ可読記憶媒体。前記対話ディスプレイにおける各行に、リンクアイコンが設けられることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。前記対話ディスプレイにおける少なくとも1つの列は、除外され得ることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。前記リンクは、前記形状のプロパティと、前記対話ディスプレイにおける前記2次元テーブルの前記行における列の値との間であることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。前記プロパティと前記列は、同じ名前を有することを特徴とする請求項5に記載のコンピュータ可読記憶媒体。前記描画面上の新しい形状のインスタンスを各行ごとに作成すること、および、各形状ごとに、前記形状を、それに対応する行にリンクすることによって、前記対話ディスプレイにおける前記2次元テーブルの複数の行を、ダイアグラム内の複数の新しい形状に関連付けることができることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。前記複数の形状の順序を確立すること、前記複数の行の順序を確立すること、および、第1の形状と第1の行から開始し、必要に応じて前記複数の行を通して繰り返しながら、前記複数の形状のすべてが関連付けられるまで順番に続行し、前記形状を前記行にリンクすることによって、前記対話ディスプレイにおける前記2次元テーブルにおける複数の行を、ダイアグラム内の複数の既存の形状に関連付けることができることを特徴とする請求項1に記載のコンピュータ可読記憶媒体。コンピュータ可読記憶媒体であって、その内容は、対話ディスプレイのデータグリッドにおける第1の2次元テーブルとして第1の外部データからのデータを表示すること、ならびに、前記対話ディスプレイの前記データグリッドにおける前記第1の2次元テーブルの1つまたは複数の行が、描画面の空白部分上にドラッグされることに応答して、前記描画面上にドラッグされた各行ごとに、前記描画面上に形状のインスタンスを作成すること、および、前記列の名前と同じ名前を有する前記形状のプロパティが存在すると決定することに応答して、前記プロパティを前記列からの値によってポピュレートすること、前記列の名前と同じ名前を有する前記形状のプロパティが存在しないと決定することに応答して、前記形状について前記列の名前と同じ名前を有する新しいプロパティを作成し、前記新しいプロパティを、前記列からの値によってポピュレートすることによって、前記描画面上に作成された各形状ごとに、前記行の各列について、前記形状を前記行にリンクすることによって、グラフィック視覚化プログラムが、外部データソースからのデータをダイアグラム内の形状にリンクするようにさせることを特徴とするコンピュータ可読記憶媒体。前記対話ディスプレイの前記データグリッドにおける前記第1の2次元テーブルの第1の行が、前記描画面に表示されている既存の形状上にドラッグされることに応答して、前記第1の行における各列ごとに、前記既存の形状を前記第1の行にリンクし、前記列の名前と同じ名前を有する前記既存の形状のプロパティが存在すると決定することに応答して、前記プロパティを前記列からの値によってポピュレートすること、および、前記列の名前と同じ名前を有する前記形状のプロパティが存在しないと決定することに応答して、前記既存の形状について前記列の名前と同じ名前を有する新しいプロパティを作成し、前記新しいプロパティを、前記列からの値によってポピュレートすることによって、グラフィック視覚化プログラムが、外部データソースからのデータをダイアグラム内の形状にリンクするようにする内容をさらに備えることを特徴とする請求項9に記載のコンピュータ可読記憶媒体。前記既存の形状と前記第1の行の間の前記リンクを除去し、および前記第2の行における各列について、前記列の名前と同じ名前を有する前記既存の形状のプロパティが存在すると決定することに応答して、前記プロパティを前記列からの値によってポピュレートすること、および、前記列の名前と同じ名前を有する前記形状のプロパティが存在しないと決定することに応答して、前記既存の形状について前記列の名前と同じ名前を有する新しいプロパティを作成し、前記新しいプロパティを、前記列からの値によってポピュレートすることによって、前記対話ディスプレイの前記データグリッドにおける前記第1の2次元テーブルの第2の行が、前記描画面に表示されている既存の形状上にドラッグされることに応答して、前記既存の形状を前記第2の行にリンクすることによって、グラフィック視覚化プログラムが、外部データソースからのデータをダイアグラム内の形状にリンクするようにする内容をさらに備えることを特徴とする請求項9に記載のコンピュータ可読記憶媒体。前記既存の形状と前記第1の行との間の前記リンクを除去することは、前記プロパティの値を示すビューにおいて、各プロパティごとに標識を提供することを引き起こすことを特徴とする請求項11に記載のコンピュータ可読記憶媒体。前記既存の形状と前記第1の行の間の前記リンクは、前記既存の形状と前記第1の行との間の前記リンクの結果として前記カスタムプロパティを除去することによって、除去されることを特徴とする請求項11に記載のコンピュータ可読記憶媒体。前記リンクすることは、前記行におけるアクティブな列についてのみであることを特徴とする請求項9に記載のコンピュータ可読記憶媒体。グラフィック視覚化プログラムの一部分として表示されるように動作し、かつ2次元テーブルを表示するためのモードレス外部データウィンドウを、集合的に含む、1つまたは複数のコンピュータメモリであって、前記2次テーブルは、少なくとも1つの行と少なくとも1つのアクティブな列を含み、したがって、行を選択し、前記モードレス外部データウィンドウにおける前記行を、前記グラフィック視覚化プログラムの描画面上にドラッグすることによって、前記行を、ダイアグラム内の形状に関連付けることができることを特徴とするコンピュータメモリ。前記リンクは、前記行を前記描画面の空白部分上にドラッグし、前記形状を作成することに応答して、作成されることを特徴とする請求項15に記載のコンピュータメモリ。前記リンクは、前記行を前記描画面に表示されている前記形状上にドラッグすることに応答して、作成されることを特徴とする請求項15に記載のコンピュータメモリ。前記リンクは、前記行における各アクティブな列ごとに、前記形状のプロパティを前記列の値によってポピュレートすることによって、作成されることを特徴とする請求項15に記載のコンピュータメモリ。ダイアグラム内の形状を、第1のデータソースからのデータの行にリンクするための、グラフィック視覚化プログラムにおけるコンピュータ実装方法であって、前記方法は、形状に関連付けられる第1のデータソースからのデータの各行ごとに、前記形状と前記第1のデータソースからのデータの他の行との間のどの既存のリンクも除去すること、および、行における各アクティブな列ごとに、前記アクティブな列と同じ名前を有する前記形状のプロパティをポピュレートすることを備えることを特徴とする方法。前記ポピュレートすることは、前記アクティブな列の名前と同じ名前を有するプロパティを作成することを備えることを特徴とする請求項19に記載の方法。前記第1のデータソースからのデータの前記行は、対話ディスプレイにおける2次元テーブルとして表示されることを特徴とする請求項19に記載の方法。前記第1のデータソースからのデータの前記データは、ネットワークを介して取り寄せることができることを特徴とする請求項19に記載の方法。前記第1のデータソースは、データベースであることを特徴とする請求項19に記載の方法。ダイアグラム内の形状とデータソースからのデータの列との間のリンクをリフレッシュするための、グラフィック視覚化プログラムにおけるコンピュータ実装方法であって、前記方法は、データソースに対するリンクによってポピュレートされた形状の各プロパティごとに、前記プロパティに関連付けられた前記データソースの行における列が除去された場合、前記プロパティの値が失効していることを示すこと、および、前記プロパティに関連付けられた前記データソースの前記行における列が現存しアクティブな場合、前記プロパティの前記値を前記列からの値によって更新することを備えることを特徴とする方法。前記プロパティの前記値を前記列からの値によって更新することに先立ち、前記プロパティの前記値が変更されたかどうかを決定すること、前記プロパティの前記値が変更されたと決定することに応答して、前記プロパティの前記変更された値を、上書きするまたは保持するオプションを提供すること、および、前記上書きするオプションを選択することに応答して、前記プロパティの前記値を前記列からの値によって更新することをさらに備えることを特徴とする請求項24に記載の方法。前記保持するオプションを選択することに応答して、前記プロパティの前記変更された値を保持することをさらに備えることを特徴とする請求項25に記載の方法。前記プロパティの前記値が失効していることを示すことは、前記プロパティに実質的に近い視覚的標識によることを特徴とする請求項24に記載の方法。このような従来の一部の描画プログラムは、ユーザが、ダイアグラム内の形状およびオブジェクトとデータを結び付けることを可能にする機能を提供している。例えば、これらの描画プログラムは、ユーザが外部データをダイアグラム内のオブジェクトと結び付けることを支援しまたは導き、したがってダイアグラムの価値を向上させる、メニューまたはウィザードを提供することができる。外部データをダイアグラム内のオブジェクトにインポートするためにメニューまたはウィザードを使用することに関する1つの主な欠点は、これらのメニューおよびウィザードの使用法が直感的ではなく、データとダイアグラムの細部のどちらの構造にも高度に熟知する必要があることである。この1つの要因は、メニューおよびウィザードが、いくつかの分かりにくいメニューのレイヤの下に隠れることである。もう1つの要因は、メニューおよびウィザードは、ユーザが行う決定の効果をユーザが見ることができないモーダルmodalユーザインターフェースであることである。これは、モーダルウィンドウを閉じる必要があるためであり、すなわち、ユーザは、描画プログラムの操作の続行が可能なる前に、データをダイアグラム内のオブジェクトに結び付けることを終了する必要があるためである。言い換えれば、ユーザは、データをダイアグラム内のオブジェクトに関連付けることを終了するまで、データの関連付けの操作の結果を見ることができない。さらに別の要因は、メニューおよびウィザードが、ダイアグラムの操作中に容易に使用することができるデータについての表示を提供しないことである。したがって、可視discoverableで直感的なインターフェースを介して、ユーザが、データをダイアグラムにリンクし、ダイアグラムにリンクされたデータの値を迅速に認識することを可能にする技法は、極めて有用である。本発明の詳細を説明する前に、本明細書に使用されるいくつかの技術について説明する。用語連結するconnectは、一般に、データソースとダイアグラムの間の関係を作成するプロセスを指す。用語リンクlinkは、一般に、データソースにおける行とダイアグラム内の形状の間の関係を指す。例えば、行を形状とリンクすることにより、カスタムプロパティが行からの値によってポピュレートpopulateされる。用語マップは、一般に、列をプロパティに割り当てるプロセスを指す。例えば、行が形状にリンクされるとき、例えば関連付けられるとき、形状の各プロパティは、それにマップされる列からの値によってポピュレートされる。用語カスタムプロパティ名custompropertynameは、一般に、形状におけるカスタムプロパティを一意的に識別するために内部で使用される文字列を指す。用語リフレッシュrefreshは、一般に、データソースを更新するプロセスを指す。外部データリンクソフトウェア機構externaldatalinkingsoftwarefacility本機構thefacilityは、ユーザが、外部データソースを用いて、ダイアグラム内の形状またはダイアグラムオブジェクト以下では形状と呼ぶのカスタムプロパティをポピュレートすることを可能にする。様々な実施形態において、本機構は、グラフィック視覚化プログラムのコンポーネントとして実装され、ダイアグラムに並んで表示される、外部データのテーブルビューtabularviewを介して、ユーザが、ダイアグラム上での様々な処理を行うことを可能にする、モードレスインターフェースmodelessinterfaceを提供する。ユーザは、外部データソースからデータをインポートして表示し、モードレスインターフェースにおける行をダイアグラム内の既存の形状にリンクする、または、行を描画面に直接ドラッグしてダイアグラム内に追加のリンクされた形状を配置するために、モードレスインターフェースを使用することができる。一実施形態では、グラフィック視覚化プログラムは、ユーザが、外部データソースと外部データソースにおけるいくつかのデータの部分を指定することを可能にするデータ選択ウィザードを提供し、外部データソースは、本機構によって、インポートされ、モードレスユーザインターフェースにおける2次元テーブルとして表示される。外部データがモードレスインターフェースに表示されると、本機構は、行とダイアグラム内の形状の間のリンクを作成するために、2つの主要な方法、すなわち、1モードレスインターフェースから行を描画面の空白部分にドラッグすることによって新しい形状を作成すること、および、2モードレスインターフェースから行をダイアグラム内の既存の形状にドラッグすることによって手動でリンクすることを提供する。本機構は、ユーザがモードレスインターフェースからの複数の行の選択を描画面にドラッグするとき、各行ごとに形状を作成する。本機構は、グラフィック視覚化プログラムの形状ウィンドウで現在選択されている形状マスタから行を表す際に使用するための形状を決定する。マスタmasterは、ユーザが、図面を作成するために繰り返し用いるステンシルstencil上の形状である。例えば、ユーザが、ステンシルから形状を図面にドラッグするとき、この形状が、そのマスタのインスタンスとなる。形状マスタが選択されない場合、本機構は、長方形マスタなど所定のマスタを使用する。複数のマスタが選択された場合、本機構は、ドラッグされた行ごとに描画面上に各マスタをそれぞれ1つドロップdropする。次いで、本機構は、選択された行に新しい形状をリンクする。例として、2つの形状マスタ、例えばShapeAおよびShapeBが現在選択されていると仮定し、ユーザが、単一の行、例えばRow1を、モードレスインターフェースから描画面にドラッグする場合、本機構は、ShapeAのインスタンスとShapeBのインスタンスを描画面上にドロップし、両方の形状をRow1にリンクする。ユーザが、複数の行、例えばRow1およびRow2を、モードレスインターフェースから描画面にドラッグする場合、本機構は、描画面上にShapeAの2つのインスタンスとShapeBの2つのインスタンスをドロップする。次いで、本機構は、一方のShapeAをRow1に、他方のShapeAをRow2にリンクし、また、一方のShapeBをRow1に、他方のShapeBをRow2にリンクする。ユーザが、モードレスインターフェースからの行の選択を、ダイアグラム内の既存の形状上にドラッグするとき、本機構は、既存の形状を、選択された行にリンクする。いくつかの実施形態において、本機構は、ユーザが、ダイアグラム内の複数の形状または形状の下位形状を選択し、次いで1つまたは複数の行を描画面にドラッグすることを可能にする。複数の形状が選択され、ユーザが、選択状態の1つの形状に対して、複数行からなる選択をドラッグする場合、本機構は、選択状態の第1の形状にドラッグされた最上位の行をリンクし、次に、選択状態の次の形状にドラッグされた次に最も上の行をリンクし、以下同様に繰り返す。次の最も上の行が存在しない場合、本機構は、行を循環し、ドラッグされた最も上の行を選択状態の次の形状にリンクする。他の実施形態では、本機構は、モードレスインターフェースにおいて表示されている各行の隣に、1つまたは複数の行をダイアグラム内の既存の形状にリンクするために用いることができるリンクアイコンを含むボタンを提供する。例えば、ユーザが、マウスなどのポインティングデバイスを使用し、リンクアイコンを含むボタンをクリックしたとき、本機構は、行を選択し、カーソルをLinkToolカーソルに変更する。次いで、ユーザが、LinkToolを用いてダイアグラム内の形状をクリックまたは選択したとき、本機構は、この形状を選択された行にリンクする。使用されるリンク方法と関係なく、本機構は、行がダイアグラム内の形状にリンクされたとき、次に述べることを実行する。同じデータソースにおいて形状と他の行の間にリンクが既に存在する場合、本機構は、リンクを維持するまたは除去するオプションをユーザに提供する。いくつかの実施形態では、本機構は、各カスタムプロパティの隣に、リンクが破損したか既に存在しないという標識を提供することにより、リンクを除去する。カスタムプロパティが追加されポピュレートされる。既存のカスタムプロパティの値は、それらが、ユーザによって入力された場合でも、他のデータソースにおける行によってポピュレートされた場合でも、上書きされる。本機構は、どのカスタムプロパティがどの値によってポピュレートされるかを決定するために、列名を用いる。列名として同じラベルすなわち名前を有するカスタムプロパティが存在する場合、本機構は、その列の値によって、そのカスタムプロパティをポピュレートする。列名として同じラベルを有する複数のカスタムプロパティが存在する場合、本機構は、列名として同じラベルを有するすべてのカスタムプロパティを、その列からの値によってポピュレートする。ある列と一致するラベルを有するカスタムプロパティがない場合、本機構は、新しいカスタムプロパティを作成し、その列からの値によって新しいカスタムプロパティをポピュレートする。技術的利点は、本機構は、解析し共有され得る非常に有用な画像を作成するために、ユーザが直感的に外部データをダイアグラム内の形状に関連付けることを可能にすることである。本機構はまた、外部データが変化する時および/または場合に、ダイアグラムを更新するために使用することができる、リフレッシュまたは更新機能を提供する。これにより、ダイアグラムは、もはや静的画像ではなく失効していない生きたドキュメントであるため、ダイアグラムの価値が大幅に高まる。いくつかの実施形態では、本機構は、ユーザが、モードレスインターフェースにおいて列の名前を変更することを可能にする。ユーザが列の名前を変更する場合、データソースからの列が形状にリンクされたとき、またはリンクがリフレッシュされたとき、作成されるカスタムプロパティのラベルに、新しい変更された名前が反映される。つまり、カスタムプロパティの名前は、新しい変更された名前である。モードレスインターフェースにおける列の名前の変更は、実際のデータソースにおける列名に影響を与えない。この機能は、ユーザが、実際のデータソースで使用される名前よりも記述的、快適な、かつ/または親しみやすくなり得る列名によって作業することを可能にする。ユーザは、リンクの結果として作成されたカスタムプロパティの値を上書きまたは変更することができる。例えば、グラフィック視覚化プログラムは、形状に関連付けられたカスタムプロパティの値にユーザがアクセスし変更することを可能にする機能を提供することができる。いくつかの実施形態では、本機構は、モードレスインターフェースにおけるカスタムプロパティの値に対する変更を反映しない。リフレッシュの際に、本機構は、手動で行われた値に対する任意の変更を、上書きするまたは保持するオプションを提供する。例えば、ユーザが、手動で行われた変更を保持することを選んだ場合、手動で入力されたカスタムプロパティの値は、モードレスインターフェースにおける値によって、上書きされるまたは置き換えられることがない。代わりに、ユーザが、手動で行われた変更を上書きすることにした場合、カスタムプロパティは、モードレスインターフェースのそれらに対応する値によって更新され、したがって、手動で行われた変更を損なう結果となる。いくつかの実施形態では、本機構によって、ユーザは、単一の形状を、複数のデータソースからの複数のレコードに、すなわち、複数の別個のデータソースごとの1つのレコードにリンクすることができる。結果として、カスタムプロパティは、複数のデータソースの列に対してマップされ得る。この事例では、本機構は、重複する列、すなわち同じラベルを有する列は、カスタムプロパティ内に重複せず、最後または直前にリンクされたレコードの値が優先されるように順序または優先順位を課している。例えば、2つの異なるデータソースにおける複数の列が、同じ列名を有し、両方のデータソースの各列が形状にリンクされている場合、本機構は、列名と同じ名前のラベルを有する1つのカスタムプロパティのみを作成する。さらに、カスタムプロパティの値は、最後にリンクまたはリフレッシュされたデータソースの列からの値である。いくつかの実施形態では、本機構は、ユーザがモードレスインターフェースからの列をアクティブまたは非アクティブにすることを可能にし、アクティブにされた列についてのみカスタムプロパティを作成する。例えば、本機構は、データソースにおけるすべての列の現在の名前のリストを含むダイアログボックス、および、各列名の隣のチェックボックスを提供することができる。列名の隣のチェックボックスをチェックすることにより、列は、モードレスインターフェースに表示され、すなわち列がアクティブにされ、行が形状にリンクされたとき、カスタムプロパティとして追加される。チェックボックスのチェックを外すことにより、列は、モードレスインターフェースに表示されず、すなわち列が非アクティブにされ、行が形状にリンクされたとき、カスタムプロパティが、この列の値によってポピュレートされることが防止される。つまり、本機構は、非アクティブな列についてのカスタムプロパティを、作成しない、かつ/またはリンクしない。本機構の様々な実施形態およびその利点は、図面の図1~8を参照することによって最も良く理解することができる。図面の要素は、必ずしも一定の縮尺比ではなく、本発明の原理を明確に示すために強調されている。図面を通して、種々の図面の同じおよび対応している部分に対して同じ番号が使用されている。図1は、本機構が実行される少なくとも一部のコンピュータシステムに通常組み込まれる、選択されたコンポーネントを示すブロック図である。これらのコンピュータシステム100には、コンピュータプログラムを実行するための1つまたは複数の中央処理装置CPU102、プログラムおよびデータを含むデータ構造を使用する際に格納するためのコンピュータメモリ104、プログラムおよびデータを永続的に格納するための、ハードウェアなどの永続的記憶装置106、コンピュータ可読媒体上に格納されたプログラムおよびデータを読み取るための、CD-ROM装置などのコンピュータ可読媒体装置108、インターネットなどを介してプログラムおよび/またはデータを含むデータ構造を交換するために、コンピュータシステムを他のコンピュータシステムに接続するための、ネットワーク接続110が含まれ得る。本機構は、コンピュータシステム100または他の装置によって実行されるプログラムモジュールなどのコンピュータ可読命令の一般的コンテキストで記述することができる。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。メモリ104および永続的記憶装置106は、本機構を実装する命令を含むことができるコンピュータ可読媒体である。メモリ104および永続的記憶装置106は、本機構を実装する命令に加え、他の様々な内容を有することができることは理解されよう。コンピュータシステム100は、プログラム出力を表示するための、ビデオモニタやLCDパネルなどの1つまたは複数の表示装置、ならびに、ユーザ入力を受け取るための、キーボード、マイク、マウスのようなポインティング装置などの1つまたは複数の入力装置を含むことができることは理解されよう。上記のように構成されたコンピュータシステム100は、本機構の動作をサポートするために一般に用いられるが、本機構は、様々なタイプおよび構成の装置を使用し様々なコンポーネントを有して実装され得ることは理解されよう。以下の議論では、本機構の実施形態を様々な具体例と関連して説明する。本機構の実施形態は、これらの例と様々な点で大きく異なる状況で使用され得ることは理解されよう。例えば、これらの例は、一般に、形状のカスタムプロパティに対してのリンクまたは外部データを指しているが、このような例は、カスタムプロパティを含むかどうかを問わず、形状のプロパティとリンクすることができることは当業者には理解されよう。図2は、本機構のコンポーネントが動作する環境20を示すハイレベルブロック図である。一般に、環境20は、エンドユーザのデータをそれらの形状にエンドユーザが取り込むための簡単な方法を提供することによって、ビジネス情報を視覚化するための動的なデータ駆動型ダイアグラムの作成を支援する。図示のように、環境20は、描画プログラム202、外部データ選択コンポーネント204、外部データリンクコンポーネント206、モードレス外部データウィンドウ208、マッパーmapperコンポーネント210、リフレッシュコンポーネント212、および、ネットワーク216を介して描画プログラム202に結合された外部データソース214を含む。本機構は、特に、描画プログラム202のコンポーネントとして実装され、外部データ選択コンポーネント204、外部データリンクコンポーネント206、モードレス外部データウィンドウ208、マッパーコンポーネント210、およびリフレッシュコンポーネント212を備える。描画プログラム202は、一般に、テンプレート、シンボル、およびドラッグアンドドロップ描画ツールを提供することによって、ユーザが、ダイアグラム、チャート、グラフ、および他の図を描画することを可能にするアプリケーションとして機能する。適切な描画プログラムの1つは、ワシントン州レドモンドのマイクロソフト社から入手可能なMicrosoft登録商標Visio登録商標である。本機構は、Microsoft登録商標Visio登録商標以外の市販のグラフィック視覚化プログラム、ならびにカスタム開発のグラフィック視覚化プログラムとしても容易に実装することができることは当業者には理解されよう。外部データ選択コンポーネント204は、一般に、外部データソース214からデータをモードレス外部データウィンドウ208にインポートする働きをする。いくつかの実施形態では、外部データ選択コンポーネント204は、ウィザードすなわちデータ選択ウィザードとして実装され、ユーザがデータソースの指定、フィルタリング、および命名を行うのを支援するためのロジックを含む。例えば、ユーザは、データソース、および2次元テーブルとしてインポートされるデータソースにおけるデータのアイテムまたは部分を指定することができる。次いで、外部データ選択コンポーネント204は、データソースとの接続を確立し、指定された部分のデータをダウンロードする。データの部分を受け取ると、外部データ選択コンポーネント204は、モードレス外部データウィンドウ208を起動し、ダウンロードしたデータの部分を、モードレス外部データウィンドウ208内の2次元テーブルとして表示する。一実施形態では、外部データ選択コンポーネント204は、外部データソース214に接続し、外部データのユーザの指定部分について照会するために、Microsoft登録商標ActiveX登録商標DataObjectsADOをサポートし利用する。外部データ選択コンポーネント204は、ADOの使用に限らず、外部データソース214と通信しそのデータをインポートするための他のデータアクセス技術をサポートし利用することもできることは当業者には理解されよう。外部データリンクコンポーネント206は、一般に、モードレス外部データウィンドウ208からデータをダイアグラム内の新規および既存の形状にリンクする働きをする。いくつかの実施形態では、外部データリンクコンポーネント206は、リンクの作成、リンクの除去、カスタムプロパティの作成、カスタムプロパティの除去、ならびに、データソースからのデータをダイアグラム内の形状にリンクすることを容易にする他の処理を実行する。外部データリンクコンポーネント206については、さらに下記で説明される。モードレス外部データウィンドウ208は、一般に、行をダイアグラム内の新規および既存の形状にリンクするための主インターフェースとして機能する。モードレス外部データウィンドウ208は、このウィンドウが表示されているときでも、ユーザが、このウィンドウの外部、例えば2次ウィンドウまたは1次ウィンドウと対話することを可能にしている。例えば、ユーザは、モードレス外部データウィンドウ208と他の任意の使用可能なウィンドウの間の切換えを行うことができる。いくつかの実施形態では、モードレス外部ウィンドウ208は、データに連結されたダイアグラムのナビゲーションを容易にする。例えば、ユーザが、マウスなどのポインティングデバイスを使用し、モードレス外部データウィンドウ208内のリンクされた行をダブルクリックしたとき、本機構は、リンクされた形状を、描画プログラム202の描画面に表示させる。モードレス外部データウィンドウ208はまた、例えば、視覚インジケータによって、リンク状況の要約を提供することができる。マッパーコンポーネント210は、一般に、ユーザが、データの列からカスタムプロパティへのマッピングを制御することを可能にする働きをする。リフレッシュコンポーネント212は、一般に、外部データソース214からのデータをリフレッシュする働きをする。本機構の上記のコンポーネントは、例示のために過ぎず、本機構は、図示されていない他のコンポーネントおよびモジュールを含むことができる。さらに、それらのコンポーネントおよびモジュールに対応して提供された機能は、より少数のコンポーネントおよびモジュールに結合することができ、あるいは、追加のコンポーネントおよびモジュールに分離することもできる。外部データソース214は、一般に、モードレス外部データウィンドウ208にインポートされ表示される外部データのリポジトリrepositoryとして機能する。一実施形態では、外部データソース214は、ADOをサポートしているデータベース管理システム、例えば、Microsoft登録商標Accessまたは他のリレーショナルデータソースrelationaldatasourceとすることができる。外部データソース214は、外部データ選択コンポーネント204と通信しそれにデータを提供するための他のデータアクセス技術をサポートし利用することもできることは当業者には理解されよう。ネットワーク216は、例えば、接続されたコンピュータの間の、電子コンテントの転送を容易にする通信リンクである。一実施形態では、ネットワーク216は、インターネットを含む。ネットワーク216は、LAN、WAN、および2地点間ダイヤルアップ接続など1つまたは複数の他のタイプのネットワークから構成され得ることは理解されよう。ネットワーク216は、存在しない場合もあることは理解されよう。例えば、外部データ選択コンポーネント204と外部データソース214は、共に同じコンピューティングシステム上に存在することができ、一般にコンピューティングシステム上でサポートされる、プロセス間通信、リモート関数呼出し、および内部通信バスなどの通信メカニズムを介して通信することができる。図3は、例示的モードレス外部データウィンドウ208の表示を示す図である。一実施形態では、モードレス外部データウィンドウ208は、ドキュメントウィンドウ、例えば描画面を提供しているウィンドウの底部に格納され、また、移動、サイズ変更、閉じること、および呼び出すことができる。モードレス外部データウィンドウ208が起動されたときにアクティブであったドキュメントウィンドウが、アクティブであるとき、モードレス外部データウィンドウ208は可視である。また、複数のドキュメントウィンドウが、同じドキュメント、例えばダイアグラムを表示するために使用される場合、それぞれのドキュメントウィンドウは、それ自体のモードレス外部データウィンドウ208を有する。さらに、モードレス外部データウィンドウ208を閉じることは、ダイアグラム、またはどのデータソースに対する連結にも影響を与えない。図示のように、モードレス外部データウィンドウ208は、データソースタブ302、およびデータグリッドdatagrid304を備える。データソースタブ302は、一般に、複数の連結されたデータソースの間の切換えを可能にする働きをする。例えば、データソースタブをクリックすることにより、データグリッド304の内容が、選択されたデータソースからのデータを反映するように変更される。データグリッド304は、一般に、現在選択されているデータソースタブ302を有する外部データソースからのデータの、テーブル表示を提供する働きをする。一実施形態では、データグリッド304は、リンクアイコン306、列ヘッダ308、およびデータセル310を備える。一実施形態では、データセル310の各行には、その行がリンクされているかどうかを示す、行自体のリンクアイコン306が提供される。図示のように、連結された鎖は、行が現在リンクされていることを示し、切れている鎖は、行がリンクされていないことを示している。図3の例示的モードレス外部データウィンドウ208では、列名MarketingPlanを有する行が現在リンクされており、列名Documentationを有する行はどの形状にも現在リンクされていない。列ヘッダ308は、一般に、アクティブな列の名前を表示する働きをする。一実施形態では、列ヘッダ308内のテキストは、データソースにおける列の元の名前である。図3の例示的モードレス外部データウィンドウ208では、列ヘッダ308内のテキストに示されているアクティブな列の名前は、Name、Owner、CompletedDays、TotalTime、DueDate、OnTrack、およびLinkであり、これらの名前は、データソースにおける列の元の名前であり得る。いくつかの実施形態では、本機構は、ユーザが列の名前を変更することを可能にする。例えば、本機構は、ユーザが起動することができ、そのウィンドウを介して、ユーザが列を選択し列の名前を編集することができるダイアログウィンドウを提供することができる。編集されたまたは変更された列名は、コラムヘッダ308に表示されるが、データソースには反映されない。さらに、リンクがリフレッシュされる場合、編集された列名は、カスタムプロパティのラベルまたは名前に反映される。本機構はまた、ユーザが列をアクティブおよび非アクティブにすることを可能にし、それによって、モードレス外部データウィンドウ208に列が表示されるまたは表示されないようにする。一実施形態では、列のアクティブ/非アクティブはまた、その列がリンク付けに関与しているかどうかを示す。非アクティブな列は、リンクの際に形状に適用されない。例えば、本機構は、データソースにおける列をリストするダイアログウィンドウを提供し、そのウィンドウを介して、ユーザは、アクティブにされモードレス外部データウィンドウ208に表示される列を、指定または選択することができる。さらに、データソースがアクティブになっているときはいつでも、すなわちデータソースに対応するデータソースタブ302が現在選択されているとき、ユーザは、ダイアログウィンドウを使用し、アクティブな列の選択を変更することができる。本機構は、これらの変更をモードレス外部データウィンドウ208に反映する。図4は、いくつかの実施形態による、本機構が外部データソースからデータをモードレス外部データウィンドウ208にインポートする方法400の流れ図を示す。例えば、大きな開発プロジェクトを担当するプログラムマネージャは、プロジェクト情報の焦点および読み易さを改善するために、Excelなどのスプレッドシードで現在管理しているプロジェクト状況情報を、データ連結ダイアグラムで提示したいことがある。ステップ402で、プログラムマネージャは、コンピューティングシステム上で描画プログラム202のインスタンスを実行する。ステップ404で、プログラムマネージャは、本機構の外部データ選択コンポーネント204などのデータ選択機能を始動する。ステップ406で、プログラムマネージャは、外部データソースを指定する。例えば、プログラムマネージャは、外部データ選択コンポーネント204を使用し、Excelスプレッドシートプログラムおよびプロジェクト情報を含むデータファイルの位置と名前を指定する。ステップ408で、本機構は、指定されたデータソースからデータをインポートする。例えば、外部データ選択コンポーネント204は、スプレッドシートプログラムをホストするコンピューティングシステムとの接続を確立し、指定されたデータファイルを要求または照会する。ステップ410で、本機構は、インポートされたデータを、2次元テーブルとして、モードレスウィンドウすなわち対話ディスプレイに表示する。例えば、本機構は、モードレス外部データウィンドウ208のインスタンスを立ち上げ、インポートされたプロジェクト情報を、2次元テーブルとしてモードレス外部データウィンドウ208に表示し、プログラムマネージャに示す。本明細書に開示の上記および他の方法およびプロセスについて、例示的流れ図において実行される機能は、異なる順序で実装されてもよいことは当業者には理解されよう。さらに、流れ図に示されているステップは、例示に過ぎず、いくつかのステップは、本発明の本質を損なうことなく、任意選択とする、より少ないステップに組み合わせる、あるいは追加のステップに拡張することができる。図5は、いくつかの実施形態による、本機構がモードレス外部データウィンドウ208に表示される行から、ダイアグラム内に新しい形状を作成する方法500の流れ図を示す。プログラムマネージャの例を続けると、情報の理解し易さを改善するために、プログラムマネージャは、連結グラフなどのデータ連結ダイアグラムを介してプロジェクト情報を表示したいことがある。さらに、連結グラフは存在せずしたがって描画する必要があるため、プログラムマネージャは、連結グラフを含む形状を作成するために、モードレス外部データウィンドウ208に表示される情報の行を、描画面にドラッグすることによって、連結グラフを作成したいことがある。ステップ502で、プログラムマネージャは、マウスなどのポインティングデバイスを使用し、外部データウィンドウ208における1つまたは複数の行を選択し、選択した行を、描画面の空白部分上にドラッグする。ステップ504で、本機構は、形状ウィンドウにおける形状マスタが現在選択されているかどうかを決定するための検査を行う。描画プログラム202は、通常、描画のためにユーザに使用可能にされている形状マスタまたは形状ステンシルを含む、形状ウィンドウを提供する。形状マスタが現在選択されていない場合、ステップ506で、本機構は、ドラッグされた各行ごとに、描画面上に長方形など既定のマスタ形状のインスタンスを作成する。プログラムマネージャの例では、図3の例示的モードレス外部データウィンドウ208に示されるようなプロジェクト情報を仮定し、また、プログラムマネージャが、列名MarketingPlanおよびRiskPlanを有する行を選択して描画面の空白部分にドラッグしたと仮定すると、本機構は、描画面上に1つの長方形の2つの別個のインスタンスを作成する。本機構は、その長方形の一方のインスタンスを、列名MarketingPlanを有する行に関連付け、その長方形のもう一方のインスタンスを、列名RiskPlanを有する行に関連付ける。そうではなく、形状マスタが現在選択されている場合、ステップ508で、本機構は、ドラッグされた各行ごとに、描画面上に、選択された各マスタ形状のインスタンスを作成する。プログラムマネージャの例を続けると、例えば長方形と正方形のような2つのマスタ形状が現在選択されており、プログラムマネージャが、図3における例示的モードレス外部データウィンドウ208から列名MarketingPlanおよびRiskPlanを有する行を選択して描画面の空白部分上にドラッグしたと仮定すると、本機構は、描画面上に、1つの長方形の2つの別個のインスタンスと、1つの正方形の2つの別個のインスタンスを作成する。本機構は、その長方形の一方のインスタンスを、列名MarketingPlanを有する行に関連付け、その長方形のもう一方のインスタンスを、列名RiskPlanを有する行に関連付け、その正方形の一方のインスタンスを、列名MarketingPlanを有する行に関連付け、その正方形のもう一方のインスタンスを、列名RiskPlanを有する行に関連付ける。したがって、各行は、長方形のインスタンスと正方形のインスタンスに関連付けられる。ステップ506または508で、描画面上に1つまたは複数の形状を作成した後、本機構は、描画面上に作成された各形状についてステップ510、ステップ512を実行し、描画面上で作成されたすべての形状が処理されるまで続けるステップ514。ステップ512で、本機構は、形状を、モードレス外部データウィンドウ208におけるそれに対応する行にリンクし、描画面上に作成された次の形状の処理に進むステップ514。上記のステップ506でのプログラムマネージャの例を続けると、本機構は、長方形の一方のインスタンスを、列名MarketingPlanを有する行にリンクし、長方形のもう一方のインスタンスを、列名RiskPlanを有する行にリンクする。リンク動作は、図7における方法700と関連して後でさらに説明する。図6は、いくつかの実施形態による、本機構が、モードレス外部データウィンドウ208における行をダイアグラム内の既存の形状に手動でリンクする、方法600の流れ図を示す。上記のプログラムマネージャの例では、プログラムマネージャは、プロジェクト情報の理解し易さを改善するのに使用するためのダイアグラムを、以前に作成していることがあり得る。さらに、このダイアグラムは、描画面に現在表示されている、長方形を含むことができる。ステップ602で、プログラムマネージャは、ポインティングデバイスを使用し、モードレス外部データウィンドウ208における1つまたは複数の行を選択し、選択した行を、描画面に表示された既存の形状上にドラッグする。プログラムマネージャの例では、図3の例示的モードレス外部データウィンドウ208に示されるようなプロジェクト情報を仮定すると、プログラムマネージャは、列名MarketingPlanおよびRiskPlanを有する行を選択し、描画面上に現在表示されている長方形上にドラッグすることがあり得る。次いで、最上位の選択された行から開始し、下方に向かって順々に処理しステップ604、本機構は、すべての選択された行が処理されるまでステップ608、ステップ606を実行する。ステップ606で、本機構は、形状を、モードレス外部データウィンドウ208において、現在アクティブな行、すなわち選択されドラッグされた現在処理されている行にリンクし、次のドラッグされた行の処理に進むステップ608。プログラムマネージャの例を続けると、本機構は、最初に、列名MarketingPlanを有している行である、最上位の選択された行を、現在アクティブな行として識別し、この行を長方形にリンクする。次いで、本機構は、列名RiskPlanを有している、次に最も上位の選択された行を、現在アクティブな行として識別し、この行を長方形にリンクする。本機構は、すべての選択されドラッグされた行が処理されるまで、このようなやり方で処理を継続する。他の実施形態において、本機構は、ユーザが既存のリンクを置き換えたいかどうかを決定するようにユーザに促すことができる。例えば、本機構は、次のオプション:1yesreplaceはい、置き換えます、2noreplaceいいえ、置き換えません、3yesreplacealways常に置き換える、および4noreplacealways常に置き換えないを有するダイアログを提示することができる。さらに他の実施形態では、本機構は、手動リンクmanuallinkingをサポートすることができ、手動リンクでは、ユーザは、最初に、描画ページから、形状および/または下位形状を選択し、モードレス外部データウィンドウ208における1つまたは複数の行を選択し、次いで、選択された形状に行をリンクするオプションを選択する。プログラムマネージャは、任意の数の行を選択し、選択した行を、描画面の空白部分またはダイアグラム内の形状にドラッグすることができることは当業者には理解されよう。さらに、プログラムマネージャは、異なる組合わせおよび異なる数の行および形状を用いて、所望に応じて、選択およびドラッグ操作を繰り返すことができる。いくつかの実施形態では、本機構は、ユーザが、1つまたは複数の行を選択しダイアグラム内の複数の形状にドラッグすることを可能にする。この場合、本機構は、選択された複数の形状の順序を確立し、ドラッグされた最上位の行を、選択されている第1の形状にリンクし、ドラッグされた次に最も上の行を、選択されている次の形状にリンクし、以下同様に繰り返す。次に最も上の行がない場合、本機構は、行を循環し選択されている第2の形状に、ドラッグされた最上位の行をリンクし、選択されたそれぞれの形状がリンクされるまで繰り返す。プログラムマネージャの例では、3つの形状、すなわち、長方形、正方形、および台形が、描画面に表示されると仮定すると、プログラムマネージャは、3つの形状を選択し、列名MarketingPlanおよびRiskPlanを有する行を、描画面上の選択された形状にドラッグすることがあり得る。この例では、本機構は、形状を、長方形、正方形、台形の順序にし、列名MarketingPlanを有している行である最上位の選択された行を、長方形にリンクし、列名RiskPlanを有している行である次に最も上位の選択された行を、順序が次の形状である正方形にリンクする。次に最も上の行がないため、本機構は、行を循環し、列名MarketingPlanを有する行である次の最も上の選択された行を、台形にリンクする。図7は、いくつかの実施形態による、本機構がリンク動作を実行する方法700の流れ図を示す。特に、方法700は、行とダイアグラム内の形状の間のリンク付けを示す。いくつかの実施形態では、本機構の外部データリンクコンポーネント206は、アクティブな列、すなわちモードレス外部データウィンドウ208に現在表示されている列のみを、ダイアグラム内の形状にリンクする。ステップ702で、外部データリンクコンポーネント206は、形状と、同じデータソースにおける他の行との間の、どの既存のリンクも除去する。一実施形態では、リンクが除去された各行ごとに、外部データリンクコンポーネント206は、行がその他の形状にリンクされているかどうかを決定するための検査を行うことができ、行がその他の形状にリンクされていない場合、外部データリンクコンポーネント206は、行が現在リンクされていないことを、行のリンクアイコン306で示す。次いで、リンクされた行における各アクティブな列についてステップ704、外部データリンクコンポーネント206は、ステップ706から710を実行し、その行におけるすべてのアクティブな列が処理されるまで続けるステップ712。ステップ706で、外部データリンクコンポーネント206は、形状が、列名と同じラベルまたは名前を有するカスタムプロパティを現在有するかどうかを決定するための検査を行う。形状が、列と同じ名前のカスタムプロパティを有していない場合、ステップ708で、外部データリンクコンポーネント206は、その形状に対するカスタムプロパティを作成し、新しく作成したカスタムプロパティに列と同じ名前を与える。ステップ706で、外部データリンクコンポーネント206は、形状が列名と同じ名前を有するカスタムプロパティを現在有しているか、もしくは、ステップ708で形状に対する新しいカスタムプロパティを作成した後、それに列と同じ名前を与えるかを決定し、ステップ710で、外部データリンクコンポーネント206は、列からの値、すなわちその列に対応しているデータセル310からの値によってカスタムプロパティをポピュレートし、次のアクティブな列の処理に進むステップ712。他の実施形態では、既存のプロパティを使用し、合致する行列におけるデータを既存のプロパティに入れるべきかどうかを決定するための第2の検査として、データ型を用いることもできる。行におけるアクティブな列をリンクした後、外部データリンクコンポーネント206は、行のリンクアイコン306で、その行が現在リンクされていることを示す。上記のステップ606におけるプログラムマネージャの例を続けると、外部データリンクコンポーネント206は、最初に、列名MarketingPlanを有する行である、最上位の選択された行に、長方形をリンクし、次いで、列名RiskPlanを有する行である、次の最も上の選択された行に、同じ長方形をリンクする。最上位の行の処理の際に、長方形が、モードレス外部データウィンドウ208における他の任意のレコード、例えば、列名ManufacturingまたはQualityTestingを有するレコードのいずれか1つに、現在リンクされている場合、外部データリンクコンポーネント206は、このリンクを除去する。列名DocumentationおよびProcureContractorsを有するレコードは、それぞれのリンクアイコン306によって示されるように、リンクされていない。次いで、外部データリンクコンポーネント208は、長方形を最上位の行にリンクする。このようなリンク動作の後、この長方形についてのカスタムプロパティおよびそれらの値は、以下のようになり得る。長方形を最上位の行にリンクした後、外部データリンクコンポーネント206は、この長方形を、次に最も上の選択された行にリンクする。次の最も上の選択された行を処理する際に、外部データリンクコンポーネント206は、長方形と列名MarketingPlanを有する行との間に現存するリンクを除去することによって開始する。いくつかの実施形態では、外部データリンクコンポーネント206は、リンクがもはや存在せず、データすなわち表示されている値が失効している、例えばもはや現在のものではあり得ないことを示す標識を、各カスタムプロパティの隣に提供する。他の実施形態では、外部データリンクコンポーネント206は、除去されたリンクから作成された1つまたは複数のカスタムプロパティを、除去または削除することができる。次いで、外部データリンクコンポーネント208は、長方形を、次に最上位の行にリンクする。このリンク動作の後、長方形についてのカスタムプロパティおよびそれらの値は、以下のようになり得る。いくつかの実施形態では、本機構は、ユーザが、単一の形状を、複数のデータソースからの複数のレコードにリンクすることを可能にする。プログラムマネージャの例を続けると、プログラムマネージャは、次いで、外部データ選択コンポーネント204を使用し、他のプロジェクト情報を含む別のExcelデータファイルをインポートすることができる。例えば、プロジェクト情報は、以下のように、各オーナーownerごとのオフィスの場所officelocationや電話番号phonenumberなどの連絡情報を有することができる。次いで、プログラムマネージャは、列OwnerにEdwardを有する行を選択して、描画面に現在表示されている長方形にドラッグすることにより、データリンクコンポーネント206に、長方形をその行にリンクさせることができる。このリンク動作の後、長方形についてのカスタムプロパティおよびそれらの値は、以下のようになり得る。さらに、外部データリンクコンポーネント206は、以前から存在するリンクが、長方形と、異なるデータソースにおける行の間のリンクであったため、以前から存在するリンクを除去しない。したがって、以前のリンクの結果として作成されたカスタムプロパティは、最新のリンク動作の後、リンクされているままである。さらに、外部データリンクコンポーネント206は、そのカスタムプロパティが既に存在するため、名前Ownerを有する重複のカスタムプロパティを作成しない。この重複カスタムプロパティの値、すなわち名前Ownerを有するカスタムプロパティの値は、最も新しくリンクされたデータソースからの値、すなわち、各オーナーごとの連絡情報についてのプロジェクト情報である。他の実施形態では、外部データリンクコンポーネント206は、重複カスタムプロパティの値を更新せず、先行の既存の値を維持する。図8は、いくつかの実施形態による、本機構がリンクをリフレッシュする方法800の流れ図を示す。いくつかの実施形態では、本機構は、リフレッシュ動作を始動するためにユーザが使用することができるボタンまたは他のアクティブ化デバイスactivationdeviceを提供することができる。例えば、ユーザは、ダイアグラム内の形状を選択し、ポインティングデバイスを使用しリフレッシュボタンを押して、リフレッシュ動作を始動することができる。選択された形状が、複数のデータソースの複数のデータの行にリンクされている場合、本機構は、ユーザが、それらからリフレッシュするための単一のデータソースを選択することを可能にする。例えば、本機構は、ウィンドウ内に複数のデータソースをリストし、ユーザが単一のデータソースを選択することを可能にすることができる。他の実施形態では、本機構は、複数のデータソースへのリンクを順次にリフレッシュすることができる。選択された形状に関連付けられた各カスタムプロパティについてステップ802、本機構は、ステップ804から816を実行し、選択された形状に関連付けられたすべてのカスタムプロパティが処理されるまで続けるステップ818。ステップ804で、本機構は、カスタムプロパティにおける値が、データソースからの元の値と同じであるかどうかを決定するための検査を行う。それが同じではない場合、カスタムプロパティの値は、そのまま変更されず、本機構は、次のカスタムプロパティの処理に進むステップ818。そうでなく、カスタムプロパティの値が、データソースにおける元の値と同じ場合には、ステップ806で、本機構は、カスタムプロパティにリンクされた列が、現在アクティブではなく、したがって、モードレス外部データウィンドウ208に表示されないかどうかを決定する。リンクされた列が、現在アクティブな列でない場合、ステップ808で、本機構は、カスタムプロパティの値が失効していることを示し、次のカスタムプロパティの処理に進むステップ818。そうでなく、リンクされた列が、現在アクティブな列の場合、ステップ810で、本機構は、カスタムプロパティの値が、例えばユーザによって、変更されたかどうかを決定する。カスタムプロパティの値が変更されていなかった場合、ステップ816で、本機構は、データソースにおけるリンクされた列からの値により、カスタムプロパティの値を更新またはリフレッシュし、次のカスタムプロパティの処理に進むステップ818。そうでなく、カスタムプロパティの値が変更された場合、ステップ812で、本機構は、ユーザがカスタムプロパティの値を更新することを選択したかどうかを決定する。ユーザが、カスタムプロパティの値を更新することを選択したと本機構が決定した場合、ステップ816で、本機構は、カスタムプロパティの値を、データソースにおけるリンクされた列からの値によって更新し、次のカスタムプロパティの処理に進むステップ818。そうでない場合、ステップ814で、本機構は、カスタムプロパティの現在の値を保持し、次のカスタムプロパティの処理に進むステップ818。本明細書に記載の本発明の実施形態は、以上のことから、例示が目的であり、本発明の趣旨および範囲から逸脱することなく、様々な修正を加えることができることは理解されよう。したがって、本発明は、添付の特許請求の範囲に明示的に記載される要素のみによって限定される。