cxgrid を含む Delphi フォームがあり、グリッドはクエリ/データソースに接続されています。
データベース テーブルのフィールドが整数の場合、整数を cxgrid 列の文字列として表示する方法はありますか?
e.g. 1 = January
2 = February
3 = March
等々。
ありがとう、
cxgrid を含む Delphi フォームがあり、グリッドはクエリ/データソースに接続されています。
データベース テーブルのフィールドが整数の場合、整数を cxgrid 列の文字列として表示する方法はありますか?
e.g. 1 = January
2 = February
3 = March
等々。
ありがとう、
はい、その可能性はあります。
次にTcxEditRepository
コンポーネントを配置して、グリッドに移動します。それをダブルクリックすると、「追加...」ボタンのある空のウィンドウが表示されます。それをクリックし、使用可能なコンポーネントのリストから を選択しますImageComboBox
。
Items
次に、このコンボのプロパティを編集する必要があります。
すべての行を埋めた後、ビュー (TcxGridDBTableView
またはTcxGridTableView
) に移動し、整数値を含む列を選択します。この列には、 というプロパティがありますRepositoryItem
。すべてを正しく行った場合は、以前に作成したリポジトリ アイテム ( ImageComboBox
) を選択できるはずです。それを選択すると、すぐに列に数字ではなく月の名前が表示されます。
他のアプローチは、cxGrid
列OnGetDisplayText
イベントをオーバーライドすることです。あなたはそのようなことをすることができます:
procedure TSomeForm.GetDisplayText(Sender: TcxCustomGridTableItem;
ARecord: TcxCustomGridRecord; var AText: string);
var
nVal : Integer;
begin
nVal := ARecord.Values[Sender.Index];
case nVal of
1: AText := "January";
//and so on
end;
end;