power apps 中不用gallery来做分页,使用datatable,点击按钮,每页只显示五行数据,并且不在datatable中使用rowNumber
时间: 2024-03-17 14:44:14 浏览: 60
在 Power Apps 中,您可以使用 DataTable 控件来显示数据,并使用按钮控件来实现分页功能。要实现每页只显示五行数据的功能,您可以使用以下步骤:
1. 创建一个数据集合,该数据集合包含需要显示的所有数据。
2. 创建一个变量,用于存储当前页数。例如,您可以创建一个名为 PageNumber 的变量,并将其初始化为 1。
3. 将 DataTable 控件的 Items 属性设置为以下公式:FirstN(DataCollection, PageNumber * 5)。这将显示数据集合中前 PageNumber * 5 行的数据。
4. 在 Power Apps 中添加两个按钮控件,一个用于向前翻页,另一个用于向后翻页。您可以将按钮的 OnSelect 属性设置为以下公式:
```
// 向前翻页
If(PageNumber > 1, Set(PageNumber, PageNumber - 1))
// 向后翻页
If((PageNumber * 5) < CountRows(DataCollection), Set(PageNumber, PageNumber + 1))
```
这将检查当前页数以确定是否可以向前或向后翻页,然后更新 PageNumber 变量的值以显示正确的数据。
5. 在 DataTable 控件中设置每行的高度为 50(或您想要的高度),以确保每页只显示五行数据。
通过这种方式,您可以在 Power Apps 中使用 DataTable 控件和按钮控件来实现分页功能,并且不需要使用 RowNumber 函数。
相关问题
power apps 中不用gallery来做分页,而是使用datatable,通过点击上下页按钮,每页只显示五行数据,并且datatable控件中items属性已经有了FilteredData,怎么实现
你可以使用 Power Apps 中的 DataTable 控件的 VisibleRows 属性来实现分页功能。首先,需要在页面上添加上下页按钮,并为它们分别添加 OnSelect 属性。在每次点击按钮时,你需要更新 DataTable 控件的 VisibleRows 属性,以便只显示当前页的数据。
以下是实现分页功能的示例代码:
1. 首先,你需要创建一个名为“PageIndex”的全局变量,用于跟踪当前页的索引。
2. 在每次点击上一页按钮时,减少“PageIndex”变量的值,并更新 DataTable 控件的 VisibleRows 属性,以显示当前页的数据。示例代码如下:
OnSelect:
UpdateContext({PageIndex:PageIndex-1});
UpdateContext({StartIndex:PageIndex*5});
UpdateContext({EndIndex:StartIndex+4});
UpdateContext({TotalPages:RoundUp(CountRows(FilteredData)/5,0)});
UpdateContext({CurrentPage:PageIndex+1})
3. 在每次点击下一页按钮时,增加“PageIndex”变量的值,并更新 DataTable 控件的 VisibleRows 属性,以显示当前页的数据。示例代码如下:
OnSelect:
UpdateContext({PageIndex:PageIndex+1});
UpdateContext({StartIndex:PageIndex*5});
UpdateContext({EndIndex:StartIndex+4});
UpdateContext({TotalPages:RoundUp(CountRows(FilteredData)/5,0)});
UpdateContext({CurrentPage:PageIndex+1})
4. 最后,你需要设置 DataTable 控件的 VisibleRows 属性,以便只显示当前页的数据。示例代码如下:
VisibleRows:
Filter(
FilteredData,
And(
RowNumber >= StartIndex+1,
RowNumber <= EndIndex+1
)
)
通过以上步骤,你可以在 Power Apps 中实现使用 DataTable 控件来分页显示数据的功能。
写一个power apps用来实现分页功能,定义一个变量collection用来引用数据,每页只显示五行数据,用按钮实现上下分页,每页只显示五行数据不使用gallery用datatable来实现
好的,以下是一个使用 DataTable 控件来实现 Power Apps 分页的示例。在这个示例中,我们将使用名为“collection”的数据集合来引用数据,每页只显示五行数据,使用两个按钮来实现上一页和下一页的分页功能。
1. 创建数据源
在 Power Apps 中,我们需要先创建一个数据源,以便从中检索数据。在本例中,我们将使用 Excel 数据源。
- 打开 Power Apps,在左侧导航栏中选择“新建”。
- 在“开始设计时使用的数据源”对话框中,选择“Excel”。
- 输入 Excel 文件的 URL 或文件名,并选择“使用表格或电子表格”选项。
- 选择 Excel 文件中的表格并单击“连接”。
- 接下来,Power Apps 将生成一个包含所有字段的默认屏幕。
2. 定义分页变量
我们需要定义一个整数变量来记录当前页码。在本例中,我们将使用名为“currentPage”的变量。
- 在屏幕上选择一个空白区域,并在右侧的“属性”窗格中单击“变量”选项卡。
- 单击“新建变量”,并将其命名为“currentPage”。
- 将变量类型设置为“整数”。
3. 创建分页按钮
我们需要创建两个按钮来实现分页功能:一个用于上一页,另一个用于下一页。
- 在屏幕上选择一个空白区域,并插入一个按钮控件。
- 将按钮的 Text 属性设置为“上一页”。
- 在“OnSelect”属性中,添加以下公式:
If(currentPage > 1, Set(currentPage, currentPage - 1))
- 重复以上步骤,创建一个新的按钮并将 Text 属性设置为“下一页”。
- 在“OnSelect”属性中,添加以下公式:
If(currentPage < RoundUp(CountRows(collection) / 5, 0), Set(currentPage, currentPage + 1))
4. 创建 DataTable 控件
我们需要使用 DataTable 控件来显示分页数据。此控件可以将数据显示为表格形式,并支持排序和筛选功能。
- 在屏幕上选择一个空白区域,并插入一个 DataTable 控件。
- 在右侧的“属性”窗格中,将“DataSource”属性设置为“collection”。
- 将“PageSize”属性设置为“5”。
- 在“Columns”属性中,添加所有要显示的列。例如,如果您的数据集合包含“Name”和“Age”两列,则可以添加以下两个列:
{ Name: "Name", Type: Text },
{ Name: "Age", Type: Number }
- 如果您想要启用排序和筛选功能,则可以设置以下属性:
SortByColumns: ["Name"],
SortDescending: false,
FilterMode: Table.FilterMode.All
这些属性将根据“Name”列对数据进行排序,并启用所有筛选选项。
5. 连接分页按钮和 DataTable 控件
我们需要将分页按钮与 DataTable 控件连接起来,以便在分页按钮被点击时更新 DataTable 控件中显示的数据。
- 在屏幕上选择 DataTable 控件,并在右侧的“属性”窗格中选择“OnPageChange”事件。
- 添加以下公式:
Refresh(DataTable1)
- 这个公式将在分页按钮被点击时刷新 DataTable 控件中显示的数据。
以上就是一个使用 DataTable 控件来实现 Power Apps 分页的示例,希望对您有所帮助!
阅读全文