Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
Angularjs 从V8升级到V15后,ag网格分页工作不正常,。初始加载后未执行数据源_Angularjs_Typescript2.0_Ag Grid_Ag Grid Ng2 - Fatal编程技术网

Angularjs 从V8升级到V15后,ag网格分页工作不正常,。初始加载后未执行数据源

Angularjs 从V8升级到V15后,ag网格分页工作不正常,。初始加载后未执行数据源,angularjs,typescript2.0,ag-grid,ag-grid-ng2,Angularjs,Typescript2.0,Ag Grid,Ag Grid Ng2,背景 已将typescript从2.3.4升级到2.6.2。Ag网格存在编译问题,因此其已升级到15.0.0。升级后,ag网格的现有分页代码不起作用 以前的配置-ag网格和分页工作正常 单击表单searchCategory()中的搜索按钮,将调用方法并加载网格 package.json "ag-grid": "^8.1.0", "ag-grid-angular": "^8.1.0", ..... "typescript": "^2.3.4" 临时技术顾问 gridOptions = <

背景

已将typescript从2.3.4升级到2.6.2。Ag网格存在编译问题,因此其已升级到15.0.0。升级后,ag网格的现有分页代码不起作用

以前的配置-ag网格和分页工作正常

单击表单searchCategory()中的搜索按钮,将调用方法并加载网格

package.json

"ag-grid": "^8.1.0",
"ag-grid-angular": "^8.1.0",
.....
 "typescript": "^2.3.4"
临时技术顾问

 gridOptions = <GridOptions>{
        context: {},
        paginationPageSize: AppUtils.IR_PAGINATION_SIZE,
/*        rowModelType: 'pagination',*/
        rowModelType: 'infinite',
        pagination: true,
        enableServerSideSorting: true,
        suppressDragLeaveHidesColumns: true,
        onGridSizeChanged: () => {
            this.gridOptions.api.sizeColumnsToFit();
        },
        getRowHeight: () => {
            return 32;
        },
         components: {
              getTypeDesc : function(params: any) {
        var eDiv = document.createElement('div');
        let desc = params.context.typeMaster.filter(function (item: any) {
            if (params.data.typeCode === item.typeCode) {
                return item.typeDescription;
            }
        });
        eDiv.innerHTML = '<span>' + desc[0].typeDescription + '</span>';
        return eDiv;
    },


    };
    typeMaster: TypeMasterModel[];
    categoryMaster: CategoryModel[];
    category: CategoryModel = new CategoryModel();
    severityMaster: SeverityMasterModel[];
    selectedRowsValue: number[];
    columnDefs: any[] = [
        { headerName: '', field: 'catCode', hide: true },
        { headerName: 'Category', field: 'catDesc', width: 550 },
        { headerName: 'Type', field: 'typeCode', cellRenderer:'getTypeDesc' }
        { headerName: 'PatientID', field: 'patIdMandYn' },
        { headerName: 'EquipmentID', field: 'equipIdMandYn' },
        { headerName: 'WorkorderId', field: 'workOrderMandYn' }
    ];
    action: string = '';


searchCategory() {
        let self = this;
        let dataSource = {
           rowCount: null, // 
            getRows: (params: any) => {
                this.http.get(//server call ).subscribe(res => {
                    let result = res['result'];
                    if (result != null && result.paginatedList != null) {
                        this.totalRecords = result.paginatedList.length;
                        if (this.totalRecords <= 0) {
                            this.gridStatusMessageDisplay("");
                        }
                        params.successCallback(result.paginatedList, result.totalRecords);
                    } else {
                        this.gridStatusMessageDisplay("");
                    }
                });
            }
        }
        this.gridOptions.api.setDatasource(dataSource);
    }
test.ts分页被无限替换

/*rowModelType:“分页”*/ rowModelType:'无限', 分页:正确

当前行为

在调用searchCategory()时,将进行服务器调用,并使用分页栏将数据加载到网格中。 在分页栏中单击“下一步”时,它不会调用已注册的数据源并在那里停止

预期行为
分页应该正常工作。应在next&prev上调用数据源并更新网格

使用其他分页库来解决此问题,这里是初始化分页

//html

<div *ngIf="totalRecords > catPaginationSize">
                 <p-paginator rows="10" totalRecords="{{totalRecords}}"   (onPageChange)="paginate($event)" ></p-paginator>
           </div> 

当将版本从(9.1.0)更新到(10.1.0)时,遇到了同样的问题,该版本使用了主ng分页而不是ag网格分页
<div *ngIf="totalRecords > catPaginationSize">
                 <p-paginator rows="10" totalRecords="{{totalRecords}}"   (onPageChange)="paginate($event)" ></p-paginator>
           </div> 
import { PaginatorModule } from 'primeng/primeng';

 paginate(event: any) {
        this.startIndex = event.first;
        this.rowsPerPage = event.rows;
        this.paginatedList();
    }