power app 里面,两个页面同时传值到一个页面,如何写

两个screen

两个screen 分别是searchbyUsername , 一个是SearchbyTitle , 都点击箭头都转到ManageTicketsDetail 界面, 那么这个界面要复制一个,还是通过改变参数来控制?

当然是后者。

这样做:首先在前面页面onselect 事件上面写:

Navigate(ManageTicketsDetail,ScreenTransition.Fade,{type:”Title”})

type:title

在明细页面这样写:

If(type=”Title”,
Gallery2_1.Selected,
If(type=”Name”,
Gallery2.Selected
)

)

后来发现,如果再传一个页面,比如选择了员工,分配的时候怎么知道应该取Gallery2_1.Selected, 还是Gallery2.Selected?

这里我们引入变量概念, 在assign 传到下一个页面对 一个新变量赋值(其实就是type)

Navigate(AssignTicket, Fade, {varSearchType:type});

然后在按钮分配人的时候按照变量选selected

If(varSearchType=”Name”,
Patch( ‘Sungiven Help Desk_1’, First( Filter( ‘Sungiven Help Desk_1’, ID = Gallery2.Selected.ID ) ), { AssignTo: Gallery3.Selected.Mail } );
Patch( ‘Sungiven Help Desk_1’, First( Filter( ‘Sungiven Help Desk_1’, ID = Gallery2.Selected.ID ) ), { Status: “In Process” } );

);
If(varSearchType=”Title”,
Patch( ‘Sungiven Help Desk_1’, First( Filter( ‘Sungiven Help Desk_1’, ID = Gallery2_1.Selected.ID ) ), { AssignTo: Gallery3.Selected.Mail } );
Patch( ‘Sungiven Help Desk_1’, First( Filter( ‘Sungiven Help Desk_1’, ID = Gallery2_1.Selected.ID ) ), { Status: “In Process” } );

);

为了防止变量值乱,那么再最开始分流的地方写上

UpdateContext({varSearchType:Blank(), type:Blank() });

同时在assign ticket 的时候提示:

“Are you sure you want to assign ” &
Switch(varSearchType,
“Name”,Gallery2.Selected.Title,
“Title”, Gallery2_1.Selected.Title,
“Status”, Gallery2_2.Selected.Title)

& ” to ” & Gallery3.Selected.DisplayName

Leave a Reply

Your email address will not be published. Required fields are marked *