0

cxgrid を含む Delphi フォームがあり、グリッドはクエリ/データソースに接続されています。

データベース テーブルのフィールドが整数の場合、整数を cxgrid 列の文字列として表示する方法はありますか?

e.g. 1 = January
     2 = February
     3 = March

等々。

ありがとう、

4

2 に答える 2

1

はい、その可能性はあります。

次にTcxEditRepositoryコンポーネントを配置して、グリッドに移動します。それをダブルクリックすると、「追加...」ボタンのある空のウィンドウが表示されます。それをクリックし、使用可能なコンポーネントのリストから を選択しますImageComboBox

Items次に、このコンボのプロパティを編集する必要があります。

ここに画像の説明を入力

すべての行を埋めた後、ビュー (TcxGridDBTableViewまたはTcxGridTableView) に移動し、整数値を含む列を選択します。この列には、 というプロパティがありますRepositoryItem。すべてを正しく行った場合は、以前に作成したリポジトリ アイテム ( ImageComboBox) を選択できるはずです。それを選択すると、すぐに列に数字ではなく月の名前が表示されます。

于 2015-08-06T12:17:01.077 に答える
0

他のアプローチは、cxGridOnGetDisplayTextイベントをオーバーライドすることです。あなたはそのようなことをすることができます:

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;
于 2015-08-06T12:23:57.073 に答える