2016-08-08 28 views
1

アプリケーションをXE6から10.1 Berlinに移動しています。カスタムグリッドスタイルは動作しません。私がテストするとき、私はTCheckcolumnを使うときにデフォルトのgridstyle & checkcellstyleを見るためにXE6に戻りました。その後、10.1ベルリンに行き、TCheckcolumnを使用するときにデフォルトのグリッドスタイルとcheckcellstyleをテストしましたが、動作しません。つまり、グリッドの行をクリックしない限り、チェックボックスは表示されません。表示された後、チェックまたはチェックを外すことはできません。これはバグですか、それとも10.1ベルリンでやるべきことがありますか?グリッドのTCheckColumnがDelphi 10.1 Berlin firemonkeyアプリケーションで動作しない

+0

再生する最小限のステップは何ですか? *カスタムグリッドスタイル*は何ですか?グリッドの 'DefaultDrawing'はオンかオフですか? –

+0

フォームにグリッドをドロップします。右クリックして項目を追加します。 TCheckColumnを追加し、TStringColumnを追加します。すぐにチェックボックスが表示されますが、あなたはいません。最初に行をクリックする必要がありますが、その場合でもチェックボックスをオンにすることはできません。私は実行時に行内のデータで試してみました。これらの手順は、XE6とXE7の両方でうまくいきます。 – John

+0

申し訳ありませんが、カスタムグリッドスタイルはデフォルトで「グリッドスタイル」です。グリッドでデフォルトのスタイルを選択した場合、それは – John

答えて

3

XE6 FMX.GridとDelphi 10.1 Berlin FMX.Grid、特にTCheckColumnの違いは、XE6では、リンクTValueEmptyであってもチェックボックスが表示されることです。これはD10シアトルまでのケースでした。 D10.1 Berlinでは、これは、TValueのリンクがFalseまたはTrueの場合にのみ、チェックボックスが表示されるように変更されました。 TValueEmptyの場合、チェックボックスは表示されません。 D10.1ベルリンで

(文書の例と同様に)次のテスト私の作品:

type 
    TForm27 = class(TForm) 
    Grid1: TGrid; 
    Column1: TColumn; 
    CheckColumn1: TCheckColumn; 
    StringColumn1: TStringColumn; 
    procedure Grid1GetValue(Sender: TObject; const ACol, ARow: Integer; 
     var Value: TValue); 
    procedure Grid1SetValue(Sender: TObject; const ACol, ARow: Integer; 
     const Value: TValue); 
    procedure FormCreate(Sender: TObject); 
    private 
    { Private declarations } 
    Arr: array of TValue; 
    public 
    { Public declarations } 
    end; 

implementation 

procedure TForm27.FormCreate(Sender: TObject); 
begin 
    SetLength(Arr, Grid1.RowCount); 
end; 

procedure TForm27.Grid1GetValue(Sender: TObject; const ACol, ARow: Integer; 
    var Value: TValue); 
begin 
    if ACol = 1 then 
    Value := Arr[ARow]; 
end; 

procedure TForm27.Grid1SetValue(Sender: TObject; const ACol, ARow: Integer; 
    const Value: TValue); 
begin 
    if ACol = 1 then 
    Arr[ARow] := Value.AsBoolean; 
end; 

また、実行時には、それは次のようになります。ここでは

enter image description here

私が持っています3行を訪問し、チェックボックスを表示します。

比較のために、XE6テスト;

enter image description here

+0

はい!説明ありがとう – John

関連する問題