From 4e4cae085739fd5e72e047d368351bfd6ceaf4e3 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Sun, 25 Mar 2018 12:20:40 +0800 Subject: [PATCH] grid 冻结列 上下滚动实现 --- src/app/routes/analysis/query/query.component.html | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/app/routes/analysis/query/query.component.html b/src/app/routes/analysis/query/query.component.html index f75ac5e..89c2052 100644 --- a/src/app/routes/analysis/query/query.component.html +++ b/src/app/routes/analysis/query/query.component.html @@ -127,7 +127,7 @@ <div echarts style="margin-top: 12px;" [options]="chartOption" [loading]="chartLoading" class="line-chart" (chartInit)="onChartInit($event)"></div> </div> <div *ngIf="isChartCollapse" style="width:100%; text-align:center;"> - <span style="font-size:18px; font-weight: bold;">{{ !isChartCollapse?'':chartTitle }}</span> + <span style="font-size:18px; font-weight: bold;">{{ _chartTitleTemp }}</span> </div> <a *ngIf="!!echartsIntance" style="position: absolute; right: 0; top: -10px;" class="pl-sm" (click)="toggleChartCollapse()"> ������ @@ -142,7 +142,7 @@ <ng-template #nzFixedHeader> <thead nz-thead> <tr> - <th nz-th [nzWidth]="'140px'" [ngStyle]="{'position': 'relative','text-align': 'center', 'left':sensorNameScrollLeft}"> + <th nz-th [nzWidth]="'160px'" [ngStyle]="{'position': 'relative', 'text-align':'center', 'left':sensorNameScrollLeft+'px'}"> <span>������������</span> </th> <th nz-th [nzWidth]="'80px'" *ngFor="let col of grid.columns" [ngStyle]="{'width':col.width,'text-align':col['align'] === undefined?'left':col.align}"> @@ -153,8 +153,10 @@ </ng-template> <tbody nz-tbody> <tr nz-tbody-tr style="cursor:pointer;" *ngFor="let row of nzTable.data,index as i" - (click) = "switchSensor(i)"> - <td nz-td class='sensor-name' [ngStyle]="{'background-color': '#FFF','position': 'relative','text-align': 'center', 'left':sensorNameScrollLeft}"> + (click) = "switchSensor(i)" + (mouseover) ="sensorTableFocus(i)" (mouseout) ="sensorTableBlur(i)" + [ngClass]="{'table-tr-bgcolor-focus': i === sensorTableFocusIndex,'table-tr-bgcolor-blur': i !== sensorTableFocusIndex}"> + <td nz-td class='sensor-name' [ngStyle]="{'background-color': '#FFF'}"> <span><span>{{ row.sensor.name+'('+row.sensor.unit+')' }}</span> <i *ngIf="chartSelectedIndex==i" class="anticon anticon-line-chart"></i></span> </td> <td nz-td *ngFor="let col of grid.columns,index as n" [ngStyle]="{'width':col.width,'text-align':col['align'] === undefined?'left':col.align}"> @@ -167,6 +169,27 @@ </tr> </tbody> </nz-table> + <div *ngIf="grid.data.length>0" [ngClass]="{'table-scroll':true,'table-scroll-box-shadow': sensorNameScrollLeft>2 }" [ngStyle]="{'position': 'absolute', 'top': '24px'}"> + <nz-table #nzTable [nzDataSource]="grid.data" [nzIsPagination]="false"> + <thead nz-thead> + <tr> + <th nz-th [nzWidth]="'160px'" style="text-align:center; position:relative; display:block; z-index:9;"> + <span>������������</span> + </th> + </tr> + </thead> + <tbody nz-tbody [ngStyle]="{'top':sensorNameScrollTop+'px'}" style="position: relative; z-index:7; display:block;"> + <tr nz-tbody-tr style="cursor:pointer;" *ngFor="let row of nzTable.data,index as i" + (mouseover) ="sensorTableFocus(i)" (mouseout) ="sensorTableBlur(i)" + [ngClass]="{'table-tr-bgcolor-focus': i === sensorTableFocusIndex,'table-tr-bgcolor-blur': i !== sensorTableFocusIndex}" + (click) = "switchSensor(i)"> + <td nz-td class='sensor-name' [ngStyle]="{'width':'160px','text-align': 'center'}"> + <span><span>{{ row.sensor.name+'('+row.sensor.unit+')' }}</span> <i *ngIf="chartSelectedIndex==i" class="anticon anticon-line-chart"></i></span> + </td> + </tr> + </tbody> + </nz-table> + </div> </nz-card> </div> </div> -- Gitblit v1.8.0