0

私は VS-Lightswitch 2012 が初めてで、Silverlight も初めてです。ライトスイッチ データベースに、測定値のテーブルを保存したいと考えています。MeasuredValues の各テーブルには特定の Unity があります。したがって、Unity (「m」、「mm​​」、「°C」など) のテーブルがあり、各 Unity には可能な UnityConversions (「mm から m」、「mm​​ から cm」など) のテーブルがあります。たとえば、単位 "m" には "m から °C" への変換はありません。これはまったく意味がないからです。各 UnityConversion には、変換先の Unity があります。Unityconversion の例: 0.00112m = 1.12mm

したがって、ユーザーが測定値のテーブルを作成または編集するとき、既存のすべてのユニティからユニティを選択できる必要があります。ただし、Unity を変換する必要がある場合は、現在の Unity の UnityConversion のテーブルから値を適切な Unity に変換することのみが可能であるべきです。これまでのところ、すべてのテーブルが定義されています。しかし、UnityConversion を行う方法は? 最も簡単な方法は、Unity の MeasuredValue の下にボタンを作成して、ユーザーが UnityConversion を選択できる「モーダル ウィンドウ ピッカー」を表示することだと思います。

しかし、現在の Unity の UnityConversions で「モーダル ウィンドウ ピッカー」を埋める方法は? 既存のすべてのユニティを表示する「モーダル ウィンドウ ピッカー」を試してみましたが、代わりに可能な UnityConversions を表示する必要があります。

それが私が固執する場所です、どんなアイデアも大歓迎です よろしくお願いします

おっと++++編集2012年12月14日++++

MValue
+-Id: Integer
+-Value: Double
+-Unity: Unity (relationship)
Unity:
+-Id: Integer
+-Name: String
+-ShortName: String
+-Conversions: collection of UnityConversion (relationship)
+-Converts     collection of UnityConversion (relationship)
+-MValues      collection of MValue (relationship)
UnityConversion:
+-Id: Integer
+-Name: String
+-Factor: Double
+-ConvertTo: Unity (relationship)
+-Unities:   Unity (relationship)
the relationship between Unity and UnityConversion is doubly so it looks like:
Unity                        UnityConversion
+-Conversions(visible) -------> +-Unities    (invisi.)
+-Converts   (invisi.) <------- +-ConvertsTo (visible)

私の質問: 二重関係は可能ですが、それは許されますか? 許可されている場合、MValuesListDetail の新しい画面を作成するときに、スクリーン デザイナーが UnityConversions の詳細を表示しないのはなぜですか?

4

1 に答える 1

1

簡単ですが、説明するのに少し時間がかかります。UnityConversionテーブルに基づいて、整数パラメーターを使用してパラメーター化されたクエリを追加する必要があります(パラメーター化されたクエリの作成を参照)。

スクリーンデザイナーの場合:

  • [データアイテムの追加]をクリックし、[クエリ]を選択してから、作成したパラメータ化されたクエリの名前をクリックします
  • 追加されたクエリをクリックし、[クエリパラメータ]を展開します(クエリパラメータに値を指定するを参照 ) 。
  • 以前に追加した整数パラメータの名前をクリックします
  • [プロパティ]ペインで、バインディング値(Me.MeasuredValueProperty.ID)を入力します
  • ACBコントロールAutoCompleteBox )をクリックし、そのプロパティで、Choicesの値をAutoからパラメーター化されたクエリの名前に変更します。

これにより、UnityConversionプロパティの値が、選択したUnityに適切な値に制限されます。

于 2012-12-08T12:59:56.233 に答える