グリッドコントロールのデフォルト状態での使い方

提供:RAD Studio (日本語)
移動: 案内, 検索

ラジオコントロールを使った項目値の制限:インデックス への移動

グリッドの Columns プロパティの 'State プロパティは,そのグリッドに対する持続的列オブジェクトが存在するかどうかを示します。Columns.State は実行時のみのプロパティで,グリッドに対して自動的に設定されます。デフォルトの状態は csDefault で,そのグリッドについて持続的列オブジェクトが存在しないことを意味します。その場合,グリッドへのデータの表示は,グリッドのデータセット内の項目のプロパティによって決まります。静的項目コンポーネントがない場合には,表示特性のデフォルトセットによって決まります。

グリッドの Columns.State プロパティが csDefault になっている場合,グリッド列はデータセットの表示可能な項目に基づいて動的に生成され,グリッド内の列の順序はデータセット内の項目の順序と一致します。グリッド内の列はそれぞれ 1 つの項目コンポーネントと関連付けられます。項目コンポーネントのプロパティが変化すると,すぐにグリッドに反映されます。

動的に生成された列を持つグリッドコントロールを使用すると,実行時に選択した任意のテーブルの内容を表示したり編集するのに便利です。グリッドの構造が設定されていないので,動的に変化してさまざまなデータセットを表示できます。動的に生成された列を持つ単一グリッドは即座に Paradox テーブルを表示でき,グリッドの DataSource プロパティが変化したりデータソースそのものの DataSet プロパティが変化した場合には表示を切り替えて SQL の問い合わせ結果を表示できます。

設計時または実行時に動的な列の外観を変更できますが,実際に変更されるのは列に表示されている項目コンポーネントの対応するプロパティです。動的な列のプロパティが存在するのは,列が単一のデータセット内の特定の項目と関連付けられている間だけです。たとえば,ある列の 'Width プロパティを変更すると,その列に関連付けられている項目の 'DisplayWidth プロパティも変わります。Font のように項目プロパティに基づいていない列プロパティに対する変更は,その列が残っている限り存続します。

グリッドのデータセットが動的な項目コンポーネントで構成されている場合,その項目はデータセットが閉じるたびに破棄されます。項目コンポーネントが破棄されると,それに関連付けられている動的な列もすべて破棄されます。グリッドのデータセットが静的項目コンポーネントで構成されている場合は,たとえデータセットが閉じてもその項目コンポーネントは存続します。そのため,その項目に関連付けられている列も,データセットが閉じてもそのプロパティを保持できます。

メモ:  実行時にグリッドの Columns.State プロパティを csDefault に変更すると,グリッドのすべての列オブジェクトが(静的な列も含めて)削除され,グリッドのデータセットの表示される項目に基づいて動的な列が再構築されます。

関連リンク

他言語版