
两个screen 分别是searchbyUsername , 一个是SearchbyTitle , 都点击箭头都转到ManageTicketsDetail 界面, 那么这个界面要复制一个,还是通过改变参数来控制?
当然是后者。
这样做:首先在前面页面onselect 事件上面写:
Navigate(ManageTicketsDetail,ScreenTransition.Fade,{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