gpt4 book ai didi

powerapps - 如何查找整数和文本值(过滤和搜索)

转载 作者:行者123 更新时间:2023-12-05 05:40:36 35 4
gpt4 key购买 nike

我通过 Power Apps 中的一个应用程序将我的数据源连接到 SQL Server 中的数据库,我正在使用库来显示数据,并且我有一个文本条目来搜索该库中的特定数据。

我想搜索文本类型数据和数字类型数据,我将数据类型和我在表格中使用的列放在下面:

NoEmployee int,
NameEmployee varchar,
Job varchar,
Department varchar,

我正在使用图库中的 Items 属性来执行数字和文本类型数据的搜索,我使用以下语法。

Search(Filter(DataSourceEmployee;NoEmployee = Value(txtSearchText.Text));;DataSourceEmployee;txtSearchText.Text;"NameEmployee";"Department";"Job")

上面的语法给我以下错误:

'Search' function has invalid arguments

documentation 当中我一直在阅读的搜索功能不允许我搜索整数值。

然后我就萌生了把两个功能结合起来的想法,不知道这样做对不对。

正如我提到的,我需要搜索我提到的 4 列,如果我使用以下搜索功能,它会毫无问题地搜索我的文本类型列。

Search(DataSourceEmployee;txtSearchText.Text;"NameEmployee";"Department";"Job")

如果我使用 Filter 函数,它会毫无问题地搜索我的整数类型列。

Filter(DataSourceEmployee;NoEmployee = Value(txtSearchText.Text))

我想知道是否有一种方法可以组合这两个函数以便通过四列执行搜索,或者我可以使用什么其他函数来搜索数字值而不会丢失对文本值的搜索。

更新 1:

根据最后提供的可能答案,我添加了我使用过的语法,但没有得到满意的结果,它只搜索对应于 NoEmployee 的数字数据类型列,并且不适用于文本类型列。

IfError( Filter(DataSourceEmployee,NoEmployee=Value(txtSearchText.Text)), Filter(DataSourceEmployee,StartsWith(NameEmployee,txtSearchText.Text)))

更新 2:

根据他们给我的最后一个答案,我在 Gallery ControlItems 属性中执行了以下功能,我尝试搜索类型列INT 以及 VARCHAR 的那些,但我都没有得到结果。

我用过的函数如下:

SortByColumns(
Filter(
colEmployees,
If(
!IsBlank(txtSearchText.Text),
Or(
txtSearchText.Text in NoEmployee,
txtSearchText.Text in NameEmpleado,
txtSearchText.Text in Job,
txtSearchText.Text in Department
),
1 = 1
)
),
"NoEmployee",
Ascending
)

另外,答案表明我在应用程序控件的 OnStart 属性中添加了以下内容:

ClearCollect(colEmployees,DataSourceEmployee)

最佳答案

Filter 函数中使用 SortByColumn 而不是 Search 。无论类型如何,您都可以轻松地按所需的所有列进行搜索。在这里,我展示了如何按所有 4 列进行搜索,其中 EmpNumber 是一个 INT 类型的列,其余是 NVARCHAR

您可以按任何列、AscendingDescending 排序。

插图:

enter image description here

代码:

  • 将其放在 App 控件的 OnStart 上:

    • ClearCollect(colEmployees, EMPLOYEE_DEV)
    • 其中 EMPLOYEE_DEV 是下面显示的 SQL 表
  • 将它放在 Gallery 控件的 Items 属性上:

SortByColumns(
Filter(colEmployees,
If(
!IsBlank(txtSearch.Text),
Or(
txtSearch.Text in EmpNumber,
txtSearch.Text in EmpName,
txtSearch.Text in Job,
txtSearch.Text in Deparment
),
1=1
)
),
"EmpNumber",
Ascending
)
  • 放置 4 个标签控件以显示数据
    • 将他们的 Text 属性设置为 ThisItem.<ColumnName>

数据:连接到 PowerApp Canvas 应用的 SQL 数据库

-- Create a new table called 'EMPLOYEE_DEV' in schema 'dbo'
-- Drop the table if it already exists
IF OBJECT_ID('dbo.EMPLOYEE_DEV', 'U') IS NOT NULL
DROP TABLE dbo.EMPLOYEE_DEV
GO
-- Create the table in the specified schema
CREATE TABLE dbo.EMPLOYEE_DEV
(
EmpTblID INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
EmpNumber INT,
EmpName VARCHAR(255),
Job VARCHAR(255),
Deparment VARCHAR(255)
);

INSERT INTO dbo.EMPLOYEE_DEV (EmpNumber, EmpName, Job, Deparment)

VALUES
(123, 'John', 'Developer', 'IT'),
(234, 'Jane', 'Developer', 'IT'),
(345, 'Jim', 'Project Manager', 'ENG'),
(456, 'Joey', 'Manager', 'ENG')

关于powerapps - 如何查找整数和文本值(过滤和搜索),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72378496/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com