デルファイDBGridのデータセルの書式に関する質問があります。 DBGridコンポーネントはMySQLデータベースに接続されており、実行時にデータが取得されます。デルファイDBGridでの書式設定
私はDateTimeの列とBooleanの列を持っています。 datetime列の時間部分が0の場合、日付のみが表示されますが、時刻がゼロであっても日付と時刻を表示する必要があります。ブール値のフィールドには1または0が表示されますが、 "on"または "off"を表示する必要があります。
私はフィールドをキャストし、その後
(ClientDataSet2.FieldByName('Timestamp') as TDateTimeField).DisplayFormat := 'yyyy/mm/dd hh:mm:ss';
と
(ClientDataSet2.FieldByName('Value') as TBooleanField).DisplayValues := 'On;Off';
のような書式を設定しようとしているが、私はというエラーを取得する:「ExceptionクラスEInvalidCastメッセージ 『無効なクラス型キャスト』で"
これについてのお手伝いをさせていただきます。
は、あなたが動的にあなたがDATにアクセスするために使用しているデータセットコンポーネントを作成していますそのコンポーネントはフォームにドロップされていますか?それがフォーム上にある場合は、永続フィールドを作成します(データセットコンポーネントを右クリックし、[すべてのフィールドを追加]を選択します)。次に、表示形式や編集形式を含むすべての永続フィールドをカスタマイズできます。 – LightBulb
データセットコンポーネントはフォーム上にドロップされたコンポーネントですが、データは実行時にctQueryによってのみ取得されるため、設計時にはフィールドを使用できません。 – Erik
この類似した投稿を試してください: http://stackoverflow.com/questions/3619835/delphi-dbgrid-format-display-values – Simon