2012-09-10 195 views
1

我有一个lightswitch 2012应用程序,它从正在返回单个数据表的OData服务获取数据。我在查询中创建了两个参数,然后通过新的数据项将它们添加到屏幕上。第一个参数连接到选择列表,如果应用程序运行,则从选择列表传递的值将过滤屏幕上的值。将下拉列绑定到列值

我遇到的问题是创建另一个下拉列表,其中包含正在从OData服务返回的表中某列的值。

我想要完成的是用户有一种方法来滚动值列表的方式,并且当该值被选中时,它将过滤屏幕。如果我通过文本框传入值,它将过滤网格。问题是可能有数百个可能的值。

有没有更好的方法来解决这个问题?

感谢,

杰森

这里是实体

The Entity

这里是查询

The query

的格子屏幕

Grid Screen

运行的应用程序

Grid Running

回答

1

就像你使用“添加新数据项”你原来parametrised查询添加到屏幕上,你也可以用它来添加另一个查询(基于具有要展开/过滤的值的表格)。

将它添加到屏幕后,将查询从左侧拖到屏幕控制树。这会给你一个下拉框(在LS中称为AutoCompleteBox)。然后,您只需将原始查询的第二个参数值绑定到第二个查询的SelectedItem即可。

您似乎理解了大部分概念,但也许这个来自Beth Massi的视频将帮助完成最后的部分。

Creating a Custom Search Screen in Visual Studio LightSwitch

+0

我已经试过的建议,但我仍然有无法更改的文本框的项目编号类型。我已经将解决​​方案上传到git hub https://github.com/jwstl/SYPTest。我想这可能是由于我所引用的Projects表有两个主键。 – Jason

+0

LightSwitch不会“喜欢”没有可用整数PK的实体。有时候,你可以放弃它,这取决于你在做什么,所以这可能是导致你的问题的原因。你想要做的事通常很简单。 –