cxGrid 非バインド モードで行を非表示にするにはどうすればよいですか?
もう何時間も経ちましたが、わかりません。私はそれをググって失敗しました。
cxGrid 非バインド モードで行を非表示にするにはどうすればよいですか?
もう何時間も経ちましたが、わかりません。私はそれをググって失敗しました。
グリッドunbound mode
を使用してサンプルアプリを作成し、推奨事項OnFilterRecord
で提案されているように使用しましたが、正常に動作します。DevExpress
以下に、私のテストコードを示します。
type
TForm1 = class(TForm)
testLevel: TcxGridLevel;
testGrid: TcxGrid;
testView: TcxGridTableView;
testViewColumn1: TcxGridColumn;
testViewColumn2: TcxGridColumn;
procedure FormCreate(Sender: TObject);
procedure tviewDataControllerFilterRecord(
ADataController: TcxCustomDataController; ARecordIndex: Integer;
var Accept: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
testView.DataController.RecordCount := testView.DataController.RecordCount + 1;
testView.DataController.Values[testView.DataController.RecordCount - 1,0] := 'foo';
testView.DataController.Values[testView.DataController.RecordCount - 1,1] := 'bar';
testView.DataController.RecordCount := testView.DataController.RecordCount + 1;
testView.DataController.Values[testView.DataController.RecordCount - 1,0] := 'foo2';
testView.DataController.Values[testView.DataController.RecordCount - 1,1] := 'bar2';
end;
procedure TForm1.tviewDataControllerFilterRecord(
ADataController: TcxCustomDataController; ARecordIndex: Integer;
var Accept: Boolean);
begin
Accept := (testView.DataController.Values[ARecordIndex,0] <> 'foo');
end;
そして結果: