新しいプロジェクトでag-gridの「入門」チュートリアルを行ってきました。すべての手順を完了しましたが、エラーが表示されました
ag-Grid: could not find matching row model for rowModelType clientSide
ag-Grid: Row Model "Client Side" not found. Please ensure the ClientSideRowModelModule is loaded using: import '@ag-grid-community/client-side-row-model';
私のすべてのコードを、チュートリアルで提供されている例といくつかのプランカーの例と比較しましたが、違いに気づきませんでした。 ClientSideRowModelModuleをapp.moduleにインポートしようとしましたが、インターフェイスがangular要求されたものと一致しなかったため、機能しませんでした。アイデアが足りず、修正方法に関する情報を見つけることができませんでしたそれ。
app.module.ts:
... imports: [
BrowserModule,
AppRoutingModule,
AgGridModule.withComponents([])
],...
app.cpmponent.html:
<ag-grid-angular
style="width: 500px; height: 500px;"
class="ag-theme-balham"
[rowData]="rowData"
[columnDefs]="columnDefs"
>
</ag-grid-angular>
app.component.ts:
...columnDefs = [
{headerName: 'Make', field: 'make' },
{headerName: 'Model', field: 'model' },
{headerName: 'Price', field: 'price'}
];
rowData = [
{ make: 'Toyota', model: 'Celica', price: 35000 },
{ make: 'Ford', model: 'Mondeo', price: 32000 },
{ make: 'Porsche', model: 'Boxter', price: 72000 }
];...
Angularを使用しています:8.2.10、Angular CLI:8.2.2、npm:6.9.0
私は問題なくコミュニティバージョンを使用しています。企業の試用版をダウンロードしたところ、すべてが変わりました。この問題に遭遇したとき、グリッドで[modules] = "modules"が必要であることを知りました。そのためには、次の2行をコンポーネントに含める必要があります。
import { AllModules } from '@ag-grid-enterprise/all-modules';
modules: Module[] = AllModules;
これまでコミュニティバージョンでこれを行う必要はありませんでしたが、問題はすぐに修正されました。上記で受け入れられた答えは、アプリケーションが個々のモジュールのみを統合する場合に何が必要かを述べることです。 documentation ごと:「個々のモジュールを選択する場合は、少なくとも行モデルを指定する必要があります。その後、要件に応じて他のすべてのモジュールはオプションになります」。
この問題を解決するには、最初にModuleRegistryとAllCommunityModulesをmaint.tsにインポートし、ModuleRegistry.registerModules(AllCommunityModules);を直前に追加する必要がありましたplatformBrowserDynamic().bootstrapModule(AppModule)のように:
import { ModuleRegistry, AllCommunityModules } from '@ag-grid-community/all-modules';
ModuleRegistry.registerModules(AllCommunityModules);
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.error(err));
最後に、コンポーネント(例:sers.component.ts)で、AllCommunityModulesをインポートし、次のように変数を宣言して使用しました。
import { AllCommunityModules } from '@ag-grid-community/all-modules';
public modules: Module[] = AllCommunityModules;
私はこの答えからアイデアを得ました ここ