DataSource は、データ リンク ( TDataLink) を介してデータベース対応コントロールにリンクされます。すべてのデータ コントロールは、DataLink接続された に応答して信号を送るために を作成しDataSourceます。
のデータリンクは、で作成されたDBGridタイプです。TGridDataLinkTCustomDBGrid.CreateDataLink
これは、後のコール スタックTDataSet.EnableControlsです。
TDataSet.EnableControlsコールTDataSet.DataEvent、
TDataSet.DataEventFDataSources[I]).DataEvent接続されているすべてのデータ ソースの呼び出し、
TDataSource.DataEventを呼び出しTDataSource.NotifyDataLinks、これが を呼び出しますTDataSource.NotifyLinkTypes。
TDataSource.NotifyLinkTypesFDataLinks[I]).DataEvent接続されているすべてのデータ リンクを呼び出します。
TDataLink.DataEventが呼び出される前に何が起こったかに応じて、TGridDataLink.DataSetChangedまたはを呼び出します。レコードの編集はデータセットの変更です。フィールド (グリッド内の列) の追加は、(特に) レイアウトの変更です。TGridDataLink.LayoutChangedEnableControls
TGridDataLinkまたは、FGrid.DataChanged_FGrid.LayoutChanged
TCustomDBGrid.LayoutChanged最終的に を呼び出しTCustomDBGrid.BeginLayout、
TCustomDBGrid.BeginLayout列 (カウント、タイトルなど) の更新をColumnsプロパティに委任し、 を呼び出しますColumns.BeginUpdate。
OnDrawCell将来、すべてのレイアウト変更が行われるときに行われます。