Visual studio 2013 将值从一个屏幕传递到另一个屏幕过滤器参数

Visual studio 2013 将值从一个屏幕传递到另一个屏幕过滤器参数,visual-studio-2013,visual-studio-lightswitch,lightswitch-2013,Visual Studio 2013,Visual Studio Lightswitch,Lightswitch 2013,您好,我正在使用VS2013开发LightSwitch HTML客户端 需要一些想法 我有一个浏览屏幕,如请参阅下面 BrowseEmployee 当我点击任何一行时,它将导致另一个屏幕(而不是同一个实体视图屏幕)。在另一个屏幕中,我将显示很多细节 视图资源分配 在这个屏幕中,我从SQL视图实体中提取,这将有一个ID字段,这个字段与上一个屏幕(BrowseEmployee)相同 现在我的问题是, 如果我在这里的第一个屏幕中单击ID 1员工,我只需要显示员工ID 1的详细信息 即使我尝试将值作

您好,我正在使用VS2013开发LightSwitch HTML客户端

需要一些想法

我有一个浏览屏幕,如请参阅下面

BrowseEmployee

当我点击任何一行时,它将导致另一个屏幕(而不是同一个实体视图屏幕)。在另一个屏幕中,我将显示很多细节

视图资源分配

在这个屏幕中,我从SQL视图实体中提取,这将有一个ID字段,这个字段与上一个屏幕(BrowseEmployee)相同

现在我的问题是,

  • 如果我在这里的第一个屏幕中单击ID 1员工,我只需要显示员工ID 1的详细信息

  • 即使我尝试将值作为参数传递给第二个屏幕中的过滤器,也没有任何效果。因此,如果我将该值作为过滤参数传递到另一个屏幕,将非常方便

  • 谁能告诉我如何解决这个问题


    谢谢

    一个重要的信息首先,确保ViewScreen实际上与工程师屏幕相关联,而不是ResourceAllocation屏幕,因为有一个外键将它们链接在一起,然后可以通过这种方式访问信息。所以BrowseEngineers会去找ViewEngineers

    当表之间存在关系时,我就是这样做的,因此在侧栏上,您应该看到ResourceAllocation旁边的“编辑查询”。桌子如果员工表下方为蓝色,请单击该表,然后将该表添加到屏幕中,然后单击“编辑查询”按钮

    在这里有3个选项,我将从上面将其应用于您的表

  • 过滤器-[WHERE][Employee.EmployeeID][=][passEmployeeID]
  • 排序//在本例中不需要
  • 参数=[Integer]类型的[Parameter][passEmployeeID]
  • 现在,当您单击“返回查看ResourceAllocation”时,您刚才创建的参数现在位于ResourceAllocation表下。然后执行以下步骤

  • 将其拖到屏幕上,并将其属性设置为“不可见”
  • 单击“编辑渲染后代码”,然后在中键入以下代码:
  • 我们刚刚为ResourceAllocation表创建了一个过滤器,并将is设置为一个参数,然后现在我们需要它有一个值,所以我们在屏幕呈现之前将其分配为您在Lightswitch为您传递的上一个BrowseEmployees屏幕中单击的员工ID

    希望这能解决你的问题


    注意:确保屏幕上也有EmployeeID,如果不想让用户看到,请将其设置为“不可见”以手动传递参数,重复以下步骤,然后执行其他操作:(例如:

  • 在显示passEmployeeID的左侧窗口中,它现在应该出现两次,单击旁边带有小框的窗口,然后在右下角显示属性窗口。在这里勾选“参数”框,对于测试,取消勾选“必需的
  • 返回浏览员工屏幕,单击互动程序列表/表格列表上的“项目点击”。您现在将看到此处显示“passEmployeeID”。因此,现在ViewEmployee屏幕要求输入员工ID,因此我们必须将ID设为参数
  • 要创建参数,请单击Employees表的编辑查询并按照以下步骤进行操作,返回之前,请为参数勾选“是可选的”选项(单击参数时,此选项显示在右下角的属性框中)
  • 最后,将此参数拖到屏幕上,与步骤1中所做的一样,将其属性更改为“isparameter”,并确保“isisRequired”为false…现在,如果重复步骤2,请单击“passEmployeeID旁边的文本框,您在浏览器屏幕上创建的新参数现在将成为选项之一,单击此选项并单击“确定”
  • 您现在已经成功地将一个参数从一个屏幕传递到另一个屏幕,在下面的示例中,它是毫无意义的,但是这是如何完成的


    如果您有任何问题,请发表评论,我会在您的视图屏幕上回答您,ResourceAllocation表是否在左侧面板中显示为蓝色以确保正确?
    myapp.ViewEpmloyees.passEmployeeID_postRender = function (element,   contentItem) {
          contentItem.screen.passEmployeeID=
          contentItem.screen.Employees.EmployeeID;
         };