ANGULAR:执行我的函数后呈现的控件
ANGULAR : control rendered after my function is executed
我有一个包含 table dx-data-grid 的组件。我想在 FALSE 某些列中设置一次可见。问题是我的控件在我执行代码中的功能后呈现:
我隐藏某些列的函数:
for (var i = 0, len = this.listedesdossiers.instance.columnCount(); i < len; i++)
{
if (this.Liste_Colonnes_A_Afficher.find(colonne=>
colonne==this.listedesdossiers.instance.columnOption(i).dataField)==undefined )
{
this.listedesdossiers.instance.columnOption(i, "visible", false)
}
}
<dx-data-grid
#listedesdossiers
id="grid"
[dataSource]="Liste_dossiers"
[columnWidth]="150"
[showBorders]="true"
[showColumnLines]="true"
[showRowLines]="true"
[rowAlternationEnabled]="true"
height="100%"
[allowColumnResizing]="true"
noDataText="Pas de dossiers"
(onContentReady)="contentReady()"
(onInitialized)="Initialized($event)"
>
如果我选择 ngAfterViewChecked 事件,例如,它会隐藏我的列,但是当我们更改视图时它会被多次调用,它会一直重新启动该功能。
如果我选择 ngOnInit,控件的实例是(逻辑)未定义的。
如果我选择 datagrid 的 onContentReady 事件,它会多次执行该函数,并重新初始化列的可见性。
如果我选择datagrid的onInitialized事件,控件的实例是(逻辑)未定义的。
你能帮帮我吗?
抱歉我的英语不好
为了在 ngAfterViewChecked
中只调用一个方法,您可以在 .ts 文件中使用布尔值作为标志。如:
if (this.notHidden) {
this.yourHideFunction();
this.notHidden = true;
}
我有一个包含 table dx-data-grid 的组件。我想在 FALSE 某些列中设置一次可见。问题是我的控件在我执行代码中的功能后呈现:
我隐藏某些列的函数:
for (var i = 0, len = this.listedesdossiers.instance.columnCount(); i < len; i++)
{
if (this.Liste_Colonnes_A_Afficher.find(colonne=>
colonne==this.listedesdossiers.instance.columnOption(i).dataField)==undefined )
{
this.listedesdossiers.instance.columnOption(i, "visible", false)
}
}
<dx-data-grid
#listedesdossiers
id="grid"
[dataSource]="Liste_dossiers"
[columnWidth]="150"
[showBorders]="true"
[showColumnLines]="true"
[showRowLines]="true"
[rowAlternationEnabled]="true"
height="100%"
[allowColumnResizing]="true"
noDataText="Pas de dossiers"
(onContentReady)="contentReady()"
(onInitialized)="Initialized($event)"
>
如果我选择 ngAfterViewChecked 事件,例如,它会隐藏我的列,但是当我们更改视图时它会被多次调用,它会一直重新启动该功能。
如果我选择 ngOnInit,控件的实例是(逻辑)未定义的。 如果我选择 datagrid 的 onContentReady 事件,它会多次执行该函数,并重新初始化列的可见性。 如果我选择datagrid的onInitialized事件,控件的实例是(逻辑)未定义的。
你能帮帮我吗?
抱歉我的英语不好
为了在 ngAfterViewChecked
中只调用一个方法,您可以在 .ts 文件中使用布尔值作为标志。如:
if (this.notHidden) {
this.yourHideFunction();
this.notHidden = true;
}