VS2012 Lightswitch如何使用正确的数据填充“模态窗口选择器”

时间:2012-12-07 13:35:50

标签: visual-studio-2012 visual-studio-lightswitch

我是VS-Lightswitch 2012的新手,也是Silverlight的新手。 在lightswitch数据库中,我想存储测量值表。 每个MeasuredValues表都有一定的Unity。 所以我有一个统一表(如“m”,“mm”,“°C”),每个Unity都有一个可能的UnityConversions表(如“mm到m”,“mm到cm”)。例如Unity“m”没有“m到°C”的转换,因为这根本没有意义。每个UnityConversion都有一个Unity it ConvertsTo。 Unityconversion,例如是:0.00112m = 1.12mm

因此,当用户创建或编辑测量值表时,他应该能够从所有现有Unities中选择统一。 但是当必须转换Unity时,应该只能将值转换为当前Unity的UnityConversion表中的合适Unity。 到目前为止,所有表都已定义好。但是如何做UnityConversion呢? 我想最简单的方法是在MeasuredValue的Unity下创建一个按钮,调出一个“模态窗口选择器”,用户可以在其中选择UnityConversion。

但是如何使用当前Unity的UnityConversions填充“模态窗口选择器”? 我尝试了“模态窗口选择器”它显示了所有现有的统一,但它应该显示可能的UnityConversions。

这就是我坚持的地方,欢迎任何想法,谢谢你提前

糟糕 ++++编辑14.Dec.2012 ++++

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)

我的问题:可以做双重关系,但允许这样做吗? 如果允许,为什么screendesigner在为MValuesListDetail创建新屏幕时,不显示UnityConversions的详细信息?

1 个答案:

答案 0 :(得分:1)

这很容易做到,但解释起来有点冗长。您需要根据 UnityConversion 表添加带有整数参数的参数化查询(请参阅Creating a Parameterized Query)。

在屏幕设计师中:

  • 点击添加数据项选择查询,然后选择您创建的参数化查询的名称
  • 点击添加的查询,&amp;展开查询参数(请参阅 Provide a Value to a Query Parameter
  • 单击您之前添加的整数参数的名称
  • 在“属性”窗格中,输入绑定值( Me.MeasuredValueProperty.ID
  • 点击 ACB控件 AutoCompleteBox )&amp;在其属性中,将 Choices 值从 Auto 更改为参数化查询的名称

这应该将 UnityConversion 属性中的值限制为适合所选 Unity 的值。