Power Apps - 搜索流程问题

编程语言 2026-07-10

我有一个名为Employees的屏幕,屏幕上有一个员工详情的画廊。

其中一个详情是他们是否需要执行某个特定任务。如果需要,我在画廊里有一个小图标,它在需要时可见;不需要时隐藏。

我还设计了一个名为Tasks的屏幕,里面有一个画廊,显示所有需要完成此特定任务的员工。这个屏幕可以从Switchboard屏幕进入。

这个Tasks屏幕有一个文本框,允许我根据多种条件进行搜索,其中包括EmpID,它在两个屏幕之间共用。

如果我在Employees屏幕上点击该图标,任务屏幕将仅显示被选中的那位员工。这一切都正常。

然而,如果我随后退出Tasks屏幕并再次从Switchboard屏幕进入,Tasks屏幕仍然显示先前选中的员工。

我添加了Set(varEMPID, Blank()),以在从Switchboard屏幕进入Tasks屏幕时清空该变量。这看起来没问题,但画廊会变成空的。

在下面的代码中,我需要能够在进入Tasks屏幕时,使用来自Employees屏幕的varEmpID,或者在从Switchboard屏幕进入时忽略它。

基本上,如果varEMPID有值,就使用该值;如果没有值,就在任务屏幕显示所有人。

不过不确定如何在Task屏幕的搜索例程中编写这段代码(如下)。

任务屏幕搜索例程

Search(  
    Filter(  
    tblAllTaskDetails,  
    TaskStatus = ddAllTaskStatus.Selected.Result  
    Or IsBlank(ddAllTaskStatus.Selected.Result)  

    //This is what i'm attempting - works fine when going into the Tasks screen from the Employees screen  
    //Fails when going in via the Switchboard screen as there is no value in varEMPID  
    EmpID = varEMPID.EmpID - assigned by clicking the visible icon on the Employees screen.  

    ),  

    txtSearchTasks.Text,  
    EmpID,  
    FullName,  
    TaskStatus,  
    TaskLocation,  
    TaskCategory,  
    TaskType  
)

解决方案

下面是一段可行的示例代码和截图,用于表格过滤,请根据你的搜索字段条件进行修改。

Screen3的画廊中的图标将导航到Task屏幕(Screen4)

Icon的属性

If(ThisItem.TaskType="Purchasing",Icon.Currency)

OnSelect属性of Icon

If(ThisItem.TaskType="Purchasing",Navigate(Screen4,ScreenTransition.None,{varEmployee:ThisItem.EmpID}))

enter image description here

On Screen4,文本输入框的默认属性是

varEmployee

画廊的Items属性设置如下

If(CountRows(If(TextInput2.Text<>Blank(),Filter(colPurchasingTask,EmpID=TextInput2.Text)))>0, 
Filter(colPurchasingTask,EmpID=TextInput2.Text),colPurchasingTask)

enter image description here

enter image description here

Screen5是另一个可以打开Task屏幕的屏幕,和你的Switchboard屏幕类似。

按钮的OnSelect属性设置为

Navigate(Screen4,ScreenTransition.None,{varEmployee:""})

enter image description here

从这里导航到Task屏幕后,Task画廊将显示所有任务记录。

enter image description here

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章