Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在使用Clarity Design(VM Clarity)时将数据网格中的所有项绑定到组件。具有服务器分页的数据网格_Angular_Pagination_Angular8_Server Side Rendering_Vmware Clarity - Fatal编程技术网

Angular 如何在使用Clarity Design(VM Clarity)时将数据网格中的所有项绑定到组件。具有服务器分页的数据网格

Angular 如何在使用Clarity Design(VM Clarity)时将数据网格中的所有项绑定到组件。具有服务器分页的数据网格,angular,pagination,angular8,server-side-rendering,vmware-clarity,Angular,Pagination,Angular8,Server Side Rendering,Vmware Clarity,我是VM clarity方面的新手,我试图实现服务器端分页。我需要在过滤后获得数据网格中的总项。我可以使用分页对象引用在HTML中显示值。如何将分页对象绑定到组件? 我正在使用“onDgRefresh”事件获取页面更改和筛选更改 <clr-datagrid (clrDgRefresh)="onDgRefresh($event)" class="item-datagrid" *ngIf="showCondition" [clrDgLoading]="gridRefreshing">

我是VM clarity方面的新手,我试图实现服务器端分页。我需要在过滤后获得数据网格中的总项。我可以使用分页对象引用在HTML中显示值。如何将分页对象绑定到组件? 我正在使用“onDgRefresh”事件获取页面更改和筛选更改

   <clr-datagrid (clrDgRefresh)="onDgRefresh($event)" class="item-datagrid"
*ngIf="showCondition" [clrDgLoading]="gridRefreshing">

这是我的clr dg页脚

    <clr-dg-footer>
  <clr-dg-pagination  #pagination [clrDgPageSize]="10">
    <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">per page</clr-dg-page-size>
    {{pagination.totalItems}} items
  </clr-dg-pagination>
</clr-dg-footer>

每页
{{pagination.totalItems}}items
每当网格中的项目数小于某个大小时,我就必须调用API。所以我必须 获取网格中项目的计数。是否有任何选项可以获取全部项目?我试过了

   <clr-dg-pagination [clrDgTotalItems]="totalItemsInGrid" #pagination [clrDgPageSize]="10">

但是没有起作用

VM clarity 2.0版

角度版本:8

通过让API返回结果总数和分页结果数据,我能够在服务器端分页中实现这一点

只需将{{pagination.totalItems}}更改为{{someOtherValue}},即可在页脚中设置项目总数,这是从服务器返回的值。换句话说,不要依赖插件的totalItems值,因为它不会从服务器获得总计数。在此处替换您自己的值。

要使用“pagination.totalItems”,您需要添加[clrdgtottalItems]属性。此属性的值在组件属性中称为“totalItems”

这是您的最新标记

<clr-dg-pagination  #pagination [clrDgPageSize]="10" [clrDgTotalItems]="<your total count>">
    <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">per page</clr-dg-page-size>
        {{pagination.totalItems}} items
</clr-dg-pagination>

每页
{{pagination.totalItems}}items
这将正确显示项目总数

这是我的实现

<clr-dg-pagination #pagination [clrDgTotalItems]="users.length">
     <clr-dg-page-size [clrPageSizeOptions]="[10,20,50,100]">Users per page</clr-dg-page-size>
       {{pagination.firstItem + 1}} - {{pagination.lastItem + 1}} of {{pagination.totalItems}} users
 </clr-dg-pagination> 

每页用户数
{{pagination.firstItem+1}}-{{pagination.lastItem+1}}个{{pagination.totalItems}用户

参考:

过滤是服务器驱动的,数据网格在服务器上处理。服务器驱动的数据网格将显示返回的所有过滤项。我必须仔细检查代码,但我相信total items是返回到datagrid的总过滤项,因此如果过滤项更大,datagrid知道每页有多少项以及过滤项将有多少页。据我所知,当使用更新的过滤器调用datagrid刷新方法时,应该在服务器上处理此问题。