- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在构建一个带有分页的表格,该表格根据选定的复选框数组处理一些操作;我有 docs就目前而言,只需单独选择所有行,一切都很好;
我试图开始工作的场景如下:如果我的 paginator
上的 PageSize
是“10”,我点击 masterToggle
选择“所有”行,我希望它选择当前页面上的所有行,仅此而已,所以这将是当前 PageSize
显示的 10 行, 但是,这会选择大约 300 条记录的表的整个 dataSource
。
有没有办法让 masterToggle
只选择根据 PageSize 显示的行?然后,如果我将 PageSize
更改为 20,则只有前 10 个会保持选中状态。
这是我的代码。
/** Whether the number of selected elements matches the total number of rows. */
isAllSelected() {
const numSelected = this.selection.selected.length;
const numRows = this.dataSource.data.length;
return numSelected === numRows;
}
/** Selects all rows if they are not all selected; otherwise clear selection. */
masterToggle() {
this.isAllSelected() ?
this.selection.clear() :
this.dataSource.data.forEach(row => this.selection.select(row));
}
最佳答案
如果您使用排序、分页和过滤:
HTML 列:
<mat-checkbox (change)="$event ? masterToggle($event) : null"
[checked]="selection.hasValue() && isEntirePageSelected()"
[indeterminate]="selection.hasValue() && !isEntirePageSelected()"
[aria-label]="checkboxLabel()"></mat-checkbox>
组件:
getPageData() {
return this.dataSource._pageData(this.dataSource._orderData(this.dataSource.filteredData));
}
isEntirePageSelected() {
return this.getPageData().every((row) => this.selection.isSelected(row));
}
masterToggle(checkboxChange: MatCheckboxChange) {
this.isEntirePageSelected() ?
this.selection.deselect(...this.getPageData()) :
this.selection.select(...this.getPageData());
}
checkboxLabel(row): string {
if (!row) {
return `${this.isEntirePageSelected() ? 'select' : 'deselect'} all`;
}
return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.id + 1}`;
}
关于angular - 仅在当前 PageSize 上选择 Mat-Table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52861003/
我是网络开发(Angular)的新手。我正在尝试使用以下命令将 mat-select 显示记录选项与 mat-paginator 绑定(bind): HTML: Display
我是网络开发(Angular)的新手。我正在尝试使用以下命令将 mat-select 显示记录选项与 mat-paginator 绑定(bind): HTML: Display
当我在 gridview 中使用 AllowPaging="True" 属性并导航到第 2 页时,我的代码将我抛出到我网站的主页。相反,代码没有在第 2 页上显示记录列表。它也没有抛出任何错误,所以我
我正在 iText 中创建文档。我需要自定义宽度,但是当它小于 A4 标准宽度时,应将其设置为 A4 标准宽度。 所以我得到: float pageWidth = columns.size() * 1
我根据Sencha给出的例子实现了一个无限网格。基本上,代理使用 jsonp 获取 json 文件并填充网格。我希望网格大小为 10,并且我希望代理仅在用户向下滚动到接近第 10 条记录时才发出后续请
我有一个 ExtJS 网格(版本 4.2.1)。它是缓冲和无限滚动的。它由带有 REST 代理的商店填充。 请求发送至: /endpoints.json?_dc=1374783152564&page=
如何在 Kendo grid dataSoure 中设置 pageSize。我尝试了以下代码,但它不起作用。 grid.dataSource.data(result).dataSource.pageS
[EnableQuery(PageSize=20)] 和 [EnableQuery(MaxTop=20)] 有什么区别? 据我所知,他们都对结果设置了最大限制。 在其中任何一个上调用 GET odat
using (DirectorySearcher srch = new DirectorySearcher(String.Format("(memberOf= {0})",p_Target.Dist
我正在尝试实现分页,但是当我将 SliceMap 与 PageSize 一起使用时,我得到了所有行 - 您知道为什么以及该怎么做吗? 注意:我需要由 CQL 列妈妈键入的行映射。 iter := se
我正在使用 ReportLab 生成 PDF 报告。 我使用了 SimpleDocTemplate 并设置了 pageSize = A5。但是在构建PDF后,当我打开创建的文件时,页面大小为A4。 d
我从一本书威廉停顿中学习,它是写在那里,如果我们增加页面的大小然后页面错误首先增加,然后当页面大小变成进程的大小然后页面错误减少。 我无法理解为什么 pagefault 会增加,就好像我增加了页面大小
我试图在 CGridView 中设置寻呼机的 pageSize 属性,但没有成功。顺便说一句,目前共有 2 个项目,我只想在 1 页上显示 1 个。谢谢。 widget('zii.widgets.gr
使用此处找到的 KO 示例:http://knockoutjs.com/examples/grid.html ,我想添加一个下拉菜单来选择不同的页面大小(例如,每页 4、8、12 个项目),并在更改下
我需要在命令行将 svg 转换为 png。我尝试使用 imagemagick,但在与旋转变换一起使用时似乎有一个错误,例如这个样本 s3.svg:
我需要在命令行将 svg 转换为 png。我尝试使用 imagemagick,但在与旋转变换一起使用时似乎有一个错误,例如这个样本 s3.svg:
https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-dotnet-backend-how-to-
所以我的闪存有 2k 页大小和 128k 删除 block 大小。使用 mtd-utils 中的 flash_erase/dev/mtd1 0 0 我可以删除整个 mtd1 分区。分区一共256k。所
为什么 service.list().setPageSize(pageSize) 不起作用?它不返回具有指定 pageSize 的元素列表。问题出在哪里? 编辑 这是不工作的代码示例: Appsact
我想将 pageSize 保存并恢复到 localStorage。首先,在我看来,我创建了一个指令。它部分起作用 :) 我可以保存 pageSize。但是如何阅读呢? 拜托,强大的所有人,提示我! i
我是一名优秀的程序员,十分优秀!