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

时间:2015-03-19 05:45:14

标签: visual-studio-2013 visual-studio-lightswitch lightswitch-2013

您好我正在使用VS 2013开发LightSwitch HTML客户端

需要一些想法,

我有一个浏览屏幕,例如请参阅以下内容,

BrowseEmployee

enter image description here

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

ViewResourceAllocation

enter image description here

并且在这个屏幕中我从SQL视图实体中提取,这将具有前一个屏幕常见的ID字段(BrowseEmployee)

现在我的问题是,

  1. 如果我在第一个屏幕中点击ID 1员工,我只需要显示员工ID 1的详细信息。

  2. 即使我试图将值作为参数传递给第二个屏幕中的过滤器,也没有任何问题。因此,如果我将值作为过滤器参数传递给另一个屏幕将会很方便。

  3. 有人可以告诉我如何解决这个问题吗?

    谢谢!

2 个答案:

答案 0 :(得分:1)

首先要了解一小部分信息,确保ViewScreen实际上与您的工程师屏幕相关联,而不是 ResourceAllocation 屏幕,因为有一个外键将它们链接在一起,然后可以访问该信息这条路。所以 BrowseEngineers 将转到 ViewEngineers

这就是我在表格之间存在关系时的表现,所以在侧栏上你应该看到旁边的“编辑 查询” ResourceAllocation 即可。表。如果在Employee表下它只是蓝色点击它然后它会将此表添加到屏幕,然后点击“编辑 查询”按钮

在这里有3个选项,我将从上面将它应用到您的表格

  1. 过滤器 - [WHERE] [Employee.EmployeeID] [=] [passEmployeeID]
  2. 排序 //此示例中不需要
  3. 参数 = [参数] [passEmployeeID]类型[整数]
  4. 现在,当您单击“返回ViewResourceAllocation ”时,在 ResourceAllocation 表下,您刚创建的参数现在已存在。然后执行以下步骤

    1. 将其拖到屏幕上并将其属性设置为“不可见
    2. 点击“编辑postRender代码”并在以下位置输入以下代码:
    3. myapp.ViewEpmloyees.passEmployeeID_postRender = function (element,   contentItem) {
            contentItem.screen.passEmployeeID=
            contentItem.screen.Employees.EmployeeID;
           };
      

      我们刚刚为 ResourceAllocation 表创建了一个过滤器,并设置为参数,现在我们需要它有一个值,所以我们在屏幕呈现之前将其分配为Employee的ID您从之前的 BrowseEmployees 屏幕点击了Lightswitch为您传递的屏幕。

      希望这能解决您遇到的问题。

      注意:确保您在屏幕上也有EmployeeID,如果您不希望用户看到它,请将其设为“ Not Visible

答案 1 :(得分:1)

手动传递参数,重复以下步骤,然后执行其他操作:(以及示例生病

  1. 在左侧窗口中显示passEmployeeID,它现在应该出现两次,单击旁边带有小方框的那个,然后右下角应显示属性窗口。在此处勾选" 参数 "框和测试,unTick" 必需 "
  2. 返回您的BrowseEmployees屏幕,然后点击" 项目点按"在你的瓷砖列表/表格列表中。你现在会看到" passEmployeeID"在这里。所以现在ViewEmployee屏幕要求提供EmployeeID,所以我们必须将ID作为参数。
  3. 创建参数,单击Employees表的编辑查询并按照以下步骤操作,除非在您返回之前,勾选"是可选"参数的选项(当您单击参数时,此选项会显示在右下角的属性框中。
  4. 最后将此参数拖到屏幕上,就像在第一步中所做的那样,将其属性更改为" 参数"并确保" 必需"是错误的...现在,如果您重复步骤2,然后单击" passEmployeeID "旁边的文本框,您在BrowseScreen上创建的新参数现在将是一个选项,单击此按钮,然后单击确定。
  5. 您现在已经成功地将一个参数从一个屏幕传递到另一个屏幕,在下面的示例中,它非常无意义,但这就是它的完成方式。

    如果您在发表评论时有任何问题,我可以

    时回复错误