1. ホーム
  2. javascript

[解決済み] Ngx-datatableはカラム幅を動的に設定します。

2022-02-07 14:43:27

質問

ngx-datatableの列幅をデータベース内に保存しています。AJAXの呼び出しを使ってこれらの値を取得します。


datatableにこれらの値を設定するにはどうしたらよいですか?
試してみたこと

  1. に[width]プロパティを設定します。 <ngx-datatable-column> エレメント
  2. としてデータテーブルをインジェクトします。 @ViewChild(DatatableComponent) table: DatatableComponent; と設定 this.table.bodyComponent.columns[0].width = 500;
    私はこれらの方法を、ある場合とない場合で試してみました。 this.table.recalculate(); が、どうもうまくいかない。


EDIT
私が使っているのは datatable-columnheader-templatecell-template .

解決方法は?

非常に些細なことですが、動作させることができました。
カラムの幅の値を object 辞書のようなものです。 問題は、ajax 呼び出しが終了する前にグリッドがレンダリングされ、グリッド自体を再描画できないことでした。
そこで、辞書オブジェクトの初期値を null を配置し *ngIf をグリッド上に配置します。 <ngx-datatable *ngIf="colSizes">

この方法では、辞書の値が使用できるようになった後にレンダリングが行われます。